我对Javascript很新,我一直在阅读closures on MDN。虽然我理解了该链接上的前两个代码片段,但我对此处复制的第三个示例中使用的语法感到困惑。
var getCode = (function(){
var secureCode = "0]Eal(eh&2";
return function () {
return secureCode;
};
})();
getCode(); // Returns the secureCode
将外部函数包装在括号中,后跟空括号和分号的目的是什么?这种语法意味着什么或它服务的是什么?为什么不写下来呢?
var getCode = function() {
var secureCode = "0]Eal(eh&2";
return function () {
return secureCode;
}
};
getCode(); // Returns the secureCode
答案 0 :(得分:1)
示例的要点是secureCode
就像一个私有变量。在括号中的函数执行后,secureCode
不在范围内,因此无法写入;但返回的函数仍然可以访问变量,可以用作getter。
答案 1 :(得分:0)
换句话说,您将安全代码变量封装到CONST。它不能被写入并因此被改变,但它可通过吸气器读取。