一般情況下,我們在JS中用函數直接量來命名一個簡單的函數。

<script type="text " /> 在线视频 一区二区,国产a级网站,激情成人av

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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

我在這里寫這個也是寫點在做js時遇到的問題,當個筆記.沒有想到被hax "批"了一頓,不過也是說得有些道理的.畢竟這個內容也不痛不癢的

一般情況下,我們在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中測試都可以通過.

JavaScript技術Javascript-Mozilla和IE中的一個函數直接量的問題分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 何玲| 陈若| 陈建斌电影| 红楼影视| 大坏蛋| 水儿武士电影完整免费观看| 现代企业管理| 欧美一级在线视频| 男生的帅气头像| 电影 本能| 反恐特战队2之猎影| 电影《斯宾塞》| 国测四年级语文试题| interracial| 《与凤行》演员表| 带圈圈的序号1到30| 在线免费电影| 琪琪色影院| 村暖花开| 打男生军人光屁股的网站视频| 运气旺的微信头像图片| 金福南事件始末在线观看高清影评 | coco电影| 王韧| 刑事侦缉档案3演员表| 让我们的家更美好教学设计| 亚洲电影在线观看| 19岁女性写真| 林正英僵尸大全免费看| 安泽豪个人资料| 姬诚| 我们的母亲叫中国读后感| 雷恪生个人资料简介| 熊出没之重启未来| 唐人街探案免费观看完整版| 哥哥啊啊啊| 孔令辉简历及个人资料| 女人的战争剧情介绍| 女生被打屁股网站| 林书宇| 说木叶原文|