javascript下function声明一些小结

时间:2024-04-29 13:42:52 

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,function
0
投稿

猜你喜欢

  • 谈切图优化加速图片显示—淘宝实例

    2008-01-30 12:24:00
  • TensorFlow实现模型评估

    2023-10-15 22:36:51
  • Python脚本开发漏洞的批量搜索与利用(GlassFish 任意文件读取)

    2023-01-30 20:08:36
  • 手把手带你了解python多进程,多线程

    2021-07-16 02:08:42
  • 网站注册那些事儿

    2010-01-05 16:49:00
  • Oracle如何设置表空间数据文件大小

    2024-01-13 01:00:03
  • sqlserver中在指定数据库的所有表的所有列中搜索给定的值

    2011-09-30 11:27:38
  • Python pandas库中的isnull()详解

    2022-06-06 20:58:01
  • PL/SQL编程经验小结开发者网络Oracle

    2010-07-18 13:27:00
  • JS中==与===操作符的比较

    2024-04-17 10:10:23
  • 搜索历史基本原理实现即时自动补全联想搜索技巧

    2023-05-31 22:02:04
  • TensorFlow可视化工具TensorBoard默认图与自定义图

    2023-03-03 06:53:22
  • 用一句SQL解决SQL中断号问题 推荐

    2024-01-13 22:10:56
  • SQLServer 日期函数大全(小结)

    2024-01-13 05:36:32
  • Swoole webSocket消息服务系统方案设计详解

    2023-06-12 16:16:32
  • Scrapy-redis爬虫分布式爬取的分析和实现

    2023-01-04 10:21:19
  • python tkinter中的锚点(anchor)问题及处理

    2021-05-06 23:53:16
  • Python 高级变量之字典和字符串详解

    2021-11-16 19:36:35
  • php+jQuery实现的三 级导航栏下拉菜单显示效果

    2023-11-14 12:32:05
  • sql不常用函数总结以及事务,增加,删除触发器

    2012-07-11 16:03:42
  • asp之家 网络编程 m.aspxhome.com