作家
登录

javascript下function声明一些小结

作者: 来源:www.28hudong.com 2013-03-30 03:11:49 阅读 我要评论

function test(){ return 123; } 显然这是一个函数声明,那下面的呢 var b=function(){return 123}; 这个大家就怀疑了,好似不是声明,因为函数没有名字,只是一个匿名函数,好,再看 var b=function test(){return 123}; 这个到底是不是函数声明呢,好象是,那我回答你"不是" alert(test); var b=function test(){return 123}; 可以在非ie上面任何一个js实现去测试,会报告test未定义错误,那如果这样呢 var b=function test(){return 123}; alert(b); alert(test); 会显示出function test(){...}这样的函数toString结果,可以第二个alert还是异常,为什么呢,也就是说这里function test(){return 123}不是声明,而是一个函数对象,把引用放到了b里面而已,所以不会象声明一样默认把函数对象绑定到test名字上,那为什么我不叫用ie测试呢,因为 alert(test); var b=function test(){return 123}; ie会把函数显示出来,ie比较笨,不会区分单独的function声明和=右面的函数对象区别,另外ie甚至还支持function String.prototype.test(){...}这样的声明,可见ie的js bug还真不少了,难怪wilson不支持es4,非得搞一个es3.1出来呢,其实是自己的bug修正版

  推荐阅读

  javascript 不让鼠标事件触发

div上加了onclick事件,里面又有超链a,点超链的时候能不触发div 的事件吗? 脚本之家 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]>>>详细阅读


本文标题:javascript下function声明一些小结

地址:http://www.17bianji.com/kaifa2/JS/29901.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)