永发信息网

js 属性后面加括号是什么意思

答案:2  悬赏:30  手机版
解决时间 2021-03-18 01:10
  • 提问者网友:战皆罪
  • 2021-03-17 16:42
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,这是怎么回事啊,求详解
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 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');  }());//有点强制执行的味道
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯