function A(a){return a;}
function B(b){
return function(){return b;}
}
var x = A(10);
var y = B(20);
var z = B(30);
alert(x);
alert(y());
alert(z());
这个y后面加括号是什么意思啊,而且,为什么y()打印出来的是20,这是怎么回事啊,求详解
js 属性后面加括号是什么意思
答案:2 悬赏:30 手机版
解决时间 2021-03-18 01:10
- 提问者网友:战皆罪
- 2021-03-17 16:42
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-03-17 18:20
这个其实不难理解,函数A返回的参数a,而函数B返回的是一个函数,javascript执行函数需要在函数名称后加括号()也就是立即执行这个函数的意思,否则是赋值或引用,至于y打印20这个应该不难理解吧,参数传过去就是20,其实函数B是一个典型的闭包的例子,你可以去研究研究
全部回答
- 1楼网友:污到你湿
- 2021-03-17 19:27
(function(){})()可以将没有名字的函数执行了
(function() {
alert('water');
})();
(function(o) {
alert(o);
})('water');
(function(o) {
alert(o);
return arguments.callee;
})('water')('down');
~(function(){
alert('water');
})();//写法有点酷
void function(){
alert('water');
}();//据说效率最高
+function(){
alert('water');
}();
-function(){
alert('water');
}();
~function(){
alert('water');
}();
!function(){
alert('water');
}();
(function(){
alert('water');
}());//有点强制执行的味道
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯