一般情況下,我們?cè)贘S中用函數(shù)直接量來命名一個(gè)簡(jiǎn)單的函數(shù)。

<script type="text " /> 欧美国产小视频,日韩中文av,成人免费91在线看

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Javascript-Mozilla和IE中的一個(gè)函數(shù)直接量的問題分析

我在這里寫這個(gè)也是寫點(diǎn)在做js時(shí)遇到的問題,當(dāng)個(gè)筆記.沒有想到被hax "批"了一頓,不過也是說得有些道理的.畢竟這個(gè)內(nèi)容也不痛不癢的

一般情況下,我們?cè)贘S中用函數(shù)直接量來命名一個(gè)簡(jiǎn)單的函數(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中還有另外一種更簡(jiǎn)單的命名方式可以簡(jiǎn)化我們的代碼:

<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è)試都可以通過.

JavaScript技術(shù)Javascript-Mozilla和IE中的一個(gè)函數(shù)直接量的問題分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 和静县| 洪湖市| 鹿邑县| 宿州市| 顺昌县| 翼城县| 乐山市| 扎鲁特旗| 兴宁市| 越西县| 连城县| 霍州市| 大安市| 贡嘎县| 樟树市| 璧山县| 绥棱县| 朔州市| 文昌市| 宝鸡市| 甘南县| 资中县| 汉中市| 苗栗市| 巨鹿县| 抚宁县| 化隆| 高陵县| 东至县| 巴彦县| 皋兰县| 凤翔县| 尚义县| 琼中| 泸溪县| 清涧县| 东丽区| 临沭县| 富顺县| 娱乐| 交口县|