<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> </head> <body> </body> <script type="text/javascript"> var a=1; function b(val){ a=val; }(2) console.log(a); </script></html>
1 回答
lockLuck
TA贡献3条经验 获得超0个赞
这里应该是没调用函数,在浏览器中如果直接使用
function b(){}() //报错
但是如果使用
!function(){}() //这样是可以的,返回true
因为使用!、+、-、~等可以将函数变成一个函数表达式
上面的代码没有执行,如果想要执行,在前面加一个!号即可。
常用的匿名函数写法是下面这种:
(function() {})() //调用匿名函数
所以,问题的代码相当于以下
var a=1; function b(val){a=val;}; //只是定义,并没有调用 (2); console.log(a); //1
个人理解
添加回答
举报
0/150
提交
取消