为了账号安全,请及时绑定邮箱和手机立即绑定

帮我分析下代码javascript

帮我分析下代码javascript

Rvie 2019-06-26 18:47:16
<!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

个人理解

查看完整回答
反对 回复 2019-06-29
  • 1 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信