麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > JS > 正文

Javascript-Mozilla和IE中的一個函數直接量的問題

2024-09-06 12:43:54
字體:
來源:轉載
供稿:網友
一般情況下,我們在JS中用函數直接量來命名一個簡單的函數。

<script type="text/javascript">
var func=function(s){window.alert(s)};
func("never-online")
</script>

這在IE或者Mozilla中也是合法的(ECMA標準中有函數直接量的定義)。

但是IE中還有另外一種更簡單的命名方式可以簡化我們的代碼:

<div id="demo">http://blog.never-online.net</div>
<script type="text/javascript">
var $=document.getElementById;
alert($("demo").innerHTML);
</script>

而這在Mozilla中沒有報語法錯誤,而是拋出了一個異常, 操作符非法:
下面代碼是捕獲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>

異常內容為:
[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]

現在還不知道能不能在Mozilla的config中設置,總之寫代碼的時候要注意.

我在google上搜索 getElementById 0x8057000c 關鍵字,還是有很多類似的情況,比如

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>

因為js可以動態的給對象增加屬性和方法,上面的例子在ie和moz中測試都可以通過. 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区二区久久精品66国产精品 | 黄色片在线播放 | 美女亚洲 | 久草成人在线 | 色中色在线播放 | 欧美成人免费一级 | 欧美特级一级毛片 | 亚洲精品有限 | 毛片a级毛片免费播放100 | 欧美ab| 欧美精品一区二区中文字幕 | 色播亚洲| 国产宾馆3p国语对白 | 成年人免费视频大全 | 国产精品一区视频 | 综合日韩欧美 | 在线 日本 制服 中文 欧美 | 久久经典国产视频 | 蜜桃传媒视频麻豆第一区免费观看 | 国产亚洲精品美女久久久 | 国产精品剧情一区二区在线观看 | 国产大片全部免费看 | 欧美一级做性受免费大片免费 | 国产成人在线一区二区 | 亚洲精品成人久久 | 亚洲伊人色欲综合网 | 91精品久久久久久久久 | 成人免费av在线播放 | 中文字幕 亚洲一区 | 国产精品成人久久久久a级 av电影在线免费 | av成人免费观看 | 99国产精品自拍 | 成人羞羞在线观看网站 | 日韩黄色片免费看 | 国产精品久久久久无码av | 久久精品国产99久久6动漫亮点 | 成熟女人特级毛片www免费 | 久久久青青草 | av在线播放免费观看 | 色蜜桃av| 美女羞羞视频在线观看 |