Javascript-Mozilla和IE中的一個(gè)函數(shù)直接量的問題
更新時(shí)間:2007年01月09日 00:00:00 作者:
一般情況下,我們?cè)贘S中用函數(shù)直接量來命名一個(gè)簡單的函數(shù)。
<script type="text/javascript">
var func=function(s){window.alert(s)};
func("never-online")
</script>
這在IE或者M(jìn)ozilla中也是合法的(ECMA標(biāo)準(zhǔn)中有函數(shù)直接量的定義)。
但是IE中還有另外一種更簡單的命名方式可以簡化我們的代碼:
<div id="demo">http://blog.never-online.net</div>
<script type="text/javascript">
var $=document.getElementById;
alert($("demo").innerHTML);
</script>
而這在Mozilla中沒有報(bào)語法錯(cuò)誤,而是拋出了一個(gè)異常, 操作符非法:
下面代碼是捕獲Mozilla拋出的異常并打印出來
<div id="demo">http://blog.never-online.net</div>
<script type="text/javascript">
var $=document.getElementById;
try {
alert($("demo").innerHTML);
} catch(ex) { document.write(ex)}
</script>
異常內(nèi)容為:
[Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/non4A.htm :: :: line 22" data: no]
現(xiàn)在還不知道能不能在Mozilla的config中設(shè)置,總之寫代碼的時(shí)候要注意.
我在google上搜索 getElementById 0x8057000c 關(guān)鍵字,還是有很多類似的情況,比如
http://groups.google.co.uk/group/comp.lang.javascript/browse_thread/thread/65a1a23f5dd7c9ad/d264d04d9d768b28?tvc=2#d264d04d9d768b28
沒有更好的解決辦法,但是可以變通,比這樣寫
<div id="foo"></div>
<script>
document.$ = document.getElementById;
alert(document.$("foo").innerHTML);
</script>
因?yàn)閖s可以動(dòng)態(tài)的給對(duì)象增加屬性和方法,上面的例子在ie和moz中測(cè)試都可以通過.
<script type="text/javascript">
var func=function(s){window.alert(s)};
func("never-online")
</script>
這在IE或者M(jìn)ozilla中也是合法的(ECMA標(biāo)準(zhǔn)中有函數(shù)直接量的定義)。
但是IE中還有另外一種更簡單的命名方式可以簡化我們的代碼:
<div id="demo">http://blog.never-online.net</div>
<script type="text/javascript">
var $=document.getElementById;
alert($("demo").innerHTML);
</script>
而這在Mozilla中沒有報(bào)語法錯(cuò)誤,而是拋出了一個(gè)異常, 操作符非法:
下面代碼是捕獲Mozilla拋出的異常并打印出來
<div id="demo">http://blog.never-online.net</div>
<script type="text/javascript">
var $=document.getElementById;
try {
alert($("demo").innerHTML);
} catch(ex) { document.write(ex)}
</script>
異常內(nèi)容為:
[Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/non4A.htm :: :: line 22" data: no]
現(xiàn)在還不知道能不能在Mozilla的config中設(shè)置,總之寫代碼的時(shí)候要注意.
我在google上搜索 getElementById 0x8057000c 關(guān)鍵字,還是有很多類似的情況,比如
http://groups.google.co.uk/group/comp.lang.javascript/browse_thread/thread/65a1a23f5dd7c9ad/d264d04d9d768b28?tvc=2#d264d04d9d768b28
沒有更好的解決辦法,但是可以變通,比這樣寫
<div id="foo"></div>
<script>
document.$ = document.getElementById;
alert(document.$("foo").innerHTML);
</script>
因?yàn)閖s可以動(dòng)態(tài)的給對(duì)象增加屬性和方法,上面的例子在ie和moz中測(cè)試都可以通過.
相關(guān)文章
layui 解決form表單點(diǎn)擊無反應(yīng)的問題
今天小編就為大家分享一篇layui 解決form表單點(diǎn)擊無反應(yīng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
JavaScript實(shí)現(xiàn)日期格式化的操作詳解
在我們做業(yè)務(wù)開發(fā)的漫長歲月里,會(huì)多次跟時(shí)間打交道,相信大多數(shù)小伙伴對(duì)日期格式化也并不陌生,本文簡單記錄了JavaScript實(shí)現(xiàn)日期格式化的過程,以及一些拓展,希望對(duì)大家有所幫助2023-05-05
js實(shí)現(xiàn)div色塊拖動(dòng)錄制
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)div色塊拖動(dòng)錄制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01
微信小程序?qū)崿F(xiàn)animation動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)animation動(dòng)畫的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
很不錯(cuò)的兩款Bootstrap Icon圖標(biāo)選擇組件
這篇文章主要介紹了不容錯(cuò)過的兩款Bootstrap Icon圖標(biāo)選擇組件,支持自定義的圖標(biāo),拿出來分享下,絕對(duì)的干貨,感興趣的小伙伴們可以參考一下2016-01-01
JS實(shí)現(xiàn)頭像循環(huán)滾動(dòng)示例
這篇文章主要為大家介紹了JS實(shí)現(xiàn)頭像循環(huán)滾動(dòng)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
JS回調(diào)函數(shù)基本定義與用法實(shí)例分析
這篇文章主要介紹了JS回調(diào)函數(shù)基本定義與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript回調(diào)函數(shù)基本概念、功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-05-05
javascript xml為數(shù)據(jù)源的下拉框控件
此控件以xml為數(shù)據(jù)源,可以進(jìn)行輸入的多屬性自動(dòng)適配2009-07-07

