var Singleton=function(){
var privateVariable=10;
function privateFunction(){
return false;
}
return {
publicProperty:true,
publicMethod:function(){
privateVariable++;
return privateFunction();
}
}
}();
这段代码中,末尾出现了();如果没有这个(),那么我可以这么调用:
//调用函数
var s=Singleton();
疑问:现在末端多加了个()如何理解呢??高程上只是说了,函数表达式的后面可以跟圆括号。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
函数名只是个变量而已,实际上你可以把函数看成是一种“数据类型”。那么函数就存在“函数字面量”这一说法
函数的执行是函数末尾跟括号的方式
函数名后面跟括号可以执行,那为何不直接字面量后面跟个括号,反正都是函数后面跟个括号,一样满足函数执行的语法
立即执行函数,
这是闭包的用法
函数调用的结果是返回值,中间的计算什么的只能算是过程。
那么初始加了圆括号的函数,执行结果就是:
那么也就是相当于
首先得感谢各位,其实我最想问咋调这个函数呢,看了大家的留言后,就比划了一下:(看末尾的函数调用,居然可以了)