论坛首页 Web前端技术论坛

关于函数值对象直接run本身,大伙能给点说法吗?

浏览 3806 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-03-05  
先观代码:
代码1:
<script>
function(){ alert( 1 ); }();
</script>

代码2:

<script>
var p = function(){ alert( 1 ); }();
</script>

问题描述:
代码2能成功弹出,代码1不行。这里是函数值对象function(){}直接运行后必须有返回值接受才能保证正常run。有说法吗?
   发表时间:2007-03-05  
代码一改成:
   <script>  
   (function(){ alert( 1 ); })();  
   </script>  

同理 1.toString()错的。(1).toString()对的
0 请登录后投票
   发表时间:2007-03-05  
因为这个是匿名函数,相当于无头冤魂
必须有个动作承受者(赋值某个变量) 才能执行,或者像楼上的加括号强制执行运算(草草地超渡这个无头冤魂。这会比较节省资源吧,因为省去一个变量)
我是这样认为的
0 请登录后投票
   发表时间:2007-03-05  
jindw 写道
代码一改成:
   <script>  
   (function(){ alert( 1 ); })();  
   </script>  

同理 1.toString()错的。(1).toString()对的

谢谢你的回复!
不过
1.toString()是对的。呵呵。
0 请登录后投票
   发表时间:2007-03-05  
j2eeqk 写道

谢谢你的回复!
不过
1.toString()是对的。呵呵。


什么浏览器,也太宽容了吧?
ff上就通不过。
js: line 1024: missing ; before statement
js: 1.toString();
js: ..........^
js: line 1024: Compilation produced 1 syntax errors.


下载一个脚本分析工具:
http://sourceforge.net/project/showfiles.php?group_id=175776
0 请登录后投票
   发表时间:2007-03-05  
j2eeqk 写道

谢谢你的回复!
不过
1.toString()是对的。呵呵。


什么浏览器,也太宽容了吧?
ff上就通不过。
js: line 1024: missing ; before statement
js: 1.toString();
js: ..........^
js: line 1024: Compilation produced 1 syntax errors.


下载一个脚本分析工具:
http://sourceforge.net/project/showfiles.php?group_id=175776
0 请登录后投票
   发表时间:2007-03-05  
j2eeqk 写道

谢谢你的回复!
不过
1.toString()是对的。呵呵。


什么浏览器,也太宽容了吧?
ff上就通不过。
js: line 1024: missing ; before statement
js: 1.toString();
js: ..........^
js: line 1024: Compilation produced 1 syntax errors.


下载一个脚本分析工具:
http://sourceforge.net/project/showfiles.php?group_id=175776
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics