Javascript-Mozilla和IE中的一个函数直接量的问题

 更新时间:2007年01月09日 00:00:00   作者:  
一般情况下,我们在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中测试都可以通过. 

相关文章

  • Java File类的常用方法总结

    Java File类的常用方法总结

    这篇文章主要介绍了Java File类的常用方法总结,本文讲解了File类的常用方法,并对一些方法给出了代码示例,需要的朋友可以参考下
    2015-03-03
  • layui 解决form表单点击无反应的问题

    layui 解决form表单点击无反应的问题

    今天小编就为大家分享一篇layui 解决form表单点击无反应的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • JavaScript实现日期格式化的操作详解

    JavaScript实现日期格式化的操作详解

    在我们做业务开发的漫长岁月里,会多次跟时间打交道,相信大多数小伙伴对日期格式化也并不陌生,本文简单记录了JavaScript实现日期格式化的过程,以及一些拓展,希望对大家有所帮助
    2023-05-05
  • js实现div色块拖动录制

    js实现div色块拖动录制

    这篇文章主要为大家详细介绍了js实现div色块拖动录制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 微信小程序实现animation动画

    微信小程序实现animation动画

    这篇文章主要为大家详细介绍了微信小程序实现animation动画的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 很不错的两款Bootstrap Icon图标选择组件

    很不错的两款Bootstrap Icon图标选择组件

    这篇文章主要介绍了不容错过的两款Bootstrap Icon图标选择组件,支持自定义的图标,拿出来分享下,绝对的干货,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • js判断是否按下了Shift键的方法

    js判断是否按下了Shift键的方法

    这篇文章主要介绍了js判断是否按下了Shift键的方法,主要通过event.shiftKey方法来判断,需要的朋友可以参考下
    2015-01-01
  • JS实现头像循环滚动示例

    JS实现头像循环滚动示例

    这篇文章主要为大家介绍了JS实现头像循环滚动示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • JS回调函数基本定义与用法实例分析

    JS回调函数基本定义与用法实例分析

    这篇文章主要介绍了JS回调函数基本定义与用法,结合实例形式较为详细的分析了javascript回调函数基本概念、功能、使用方法与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • javascript xml为数据源的下拉框控件

    javascript xml为数据源的下拉框控件

    此控件以xml为数据源,可以进行输入的多属性自动适配
    2009-07-07

最新评论