当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 比较搞笑的js陷阱题

Javascript
Javascript入门学习第六篇 js DOM编程
Javascript入门学习第七篇 js dom实例操作
Javascript入门学习第八篇 js dom节点属性说明
Javascript入门学习第九篇 Javascript DOM 总结
Javascript入门学习资料收集整理篇
超级退弹代码
Firefox和IE浏览器兼容JS脚本写法小结
SWFObject Flash js调用类
javascript同步Import,同步调用外部js的方法
javascript jQuery $.post $.ajax用法
JS location几个方法小姐
关于树形菜单 Checkbox的全选
JS的数组的扩展实例代码
兼容ie ff div 层 打开+关闭+ 拖动+遮罩+移动+动画改变高宽
javascript 拽拉效果 供JS初学者学习参考
纯js实现的论坛常用的运行代码的效果
js显示当前星期的起止日期的脚本
神奇的代码 通杀各种网站-可随意修改复制页面内容
js番茄的表单验证类
番茄的表单验证类代码修改版

Javascript 中的 比较搞笑的js陷阱题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 416 ::
收藏到网摘: n/a

今天看到一段代码,比较有意思,本周就再多加一问。 看如下代码:
复制代码 代码如下:

  var a = function(t) { return t; }
  (1 + 2).toString();
  alert(a);

结果是多少?
其实主要问题出在第一行后面没有分号,所以其实是var a = function(t) { return t; }(1 + 2).toString();
先建立变量a,然后执行赋值语句,匿名函数传入参数1+2执行,返回结果.toString(),赋值给a。
关于这种function() {}()的写法,具体可参看js的命名空间。