var Singleton=function(){
var privateVariable=10;
function privateFunction(){
return false;
}
return {
publicProperty:true,
publicMethod:function(){
privateVariable++;
return privateFunction();
}
}
}();
这段代码中,末尾出现了();如果没有这个(),那么我可以这么调用:
//调用函数
var s=Singleton();
疑问:现在末端多加了个()如何理解呢??高程上只是说了,函数表达式的后面可以跟圆括号。
函数名只是个变量而已,实际上你可以把函数看成是一种“数据类型”。那么函数就存在“函数字面量”这一说法
函数的执行是函数末尾跟括号的方式
函数名后面跟括号可以执行,那为何不直接字面量后面跟个括号,反正都是函数后面跟个括号,一样满足函数执行的语法