javascript下function声明一些小结
JavaScript 一些 小结 Function 声明
2023-06-13 09:13:59 时间
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修正版
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 中常用和必备的一些工具类函数
- javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
- javascript 高级编程 之 Array 用法总结_2023-02-27
- 总结了一些有用的 Javascript 单行代码,能快速处理一些问题
- JavaScript学习总结(五)——Javascript中==和===的区别详解编程语言
- 添加到收藏夹的Javascript脚本forie,firefox
- 实例:用JavaScript来操作字符串(一些字符串函数)
- 推荐一些非常不错的javascript学习资源站点
- Javascript常用运算符(Operators)-javascript基础教程
- javascript双击文本框编辑功能代码
- 关于JavaScript的一些看法
- javascript浏览器判断绑定事件arguments转换数组数组遍历
- javascript日期联动选择器[其中的一些代码值得学习]
- 用javascript实现源代码的隐藏与解密的方法
- JavaScript设计模式富有表现力的Javascript(一)
- 整理一些JavaScript的IE和火狐的兼容性注意事项
- Javascript绝句欣赏一些经典的js代码
- Javascript异步加载详解(浏览器在javascript的加载方式)
- Javascript在IE和FireFox中的不同表现简析
- javascript解决innerText浏览器兼容问题思路代码
- JavaScript中检测变量是否存在遇到的一些问题
- 利用noesis.Javascript开源组件.Net中执行javascript脚本
- javascript函数定义的几种区别小结
- javascript的解析执行顺序在各个浏览器中的不同
- 一些老手都不一定知道的JavaScript技巧
- JavaScript模块随意拖动示例代码