javascript匿名函数自我执行的小问题
a=function(num){returnnum;}(i);这样就可以执行function(num){returnnum;}(i);这样就不可以执行,得这样才可以执行(...
a = function (num){
return num;
}(i); 这样就可以执行
function (num) {
return num;
}(i); 这样就不可以执行,得这样才可以执行
(function (num) {
return num;
})(i); 展开
return num;
}(i); 这样就可以执行
function (num) {
return num;
}(i); 这样就不可以执行,得这样才可以执行
(function (num) {
return num;
})(i); 展开
3个回答
展开全部
第二个不是匿名执行函数,
第一个是匿名函数(但是不建议这么做, 因为有可能会引起歧义), a到底是function还是num.. 实际上是一个num
第二个缺少函数名 报错
第三个才是匿名执行函数(推荐这样写)
主要原因是浏览器对js的解析方法, 如果你非要写类似于1这样的代码, 你就需要好好研究浏览器如何解析js的, 是从右向左还是从左向右, 还有好多好多判断....
所以作为一个使用者, 我们要写标准的代码, 这种歧义性很大的代码万万写不得,
第一个是匿名函数(但是不建议这么做, 因为有可能会引起歧义), a到底是function还是num.. 实际上是一个num
第二个缺少函数名 报错
第三个才是匿名执行函数(推荐这样写)
主要原因是浏览器对js的解析方法, 如果你非要写类似于1这样的代码, 你就需要好好研究浏览器如何解析js的, 是从右向左还是从左向右, 还有好多好多判断....
所以作为一个使用者, 我们要写标准的代码, 这种歧义性很大的代码万万写不得,
展开全部
你可以在代码的一样中写一个量吗?比如只写1或者只写!false;。这样 你就明白你的小问题了。道理是一样的。再试试eval();函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中间的可以认为是函数的定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询