var Alchemy = (function() {
function Alchemy(userConf) {
....
....
}
return Alchemy;
}) ();
可以解释一下 Alchemy 变量指向什么吗,我的意思是指向一个 Alchemy 命名函数或一个未命名函数的实例,它具有 Alchemy 的函数 def
如果我们说 new Alchemy(config);
最佳答案
这里的部分混淆是本质上有两个“Alchemy”变量 - 一个对应闭包的每个深度级别。
var x = 3;
(function() {
var x;
console.log(x) // This will be null/undefined - because it's a different X
}());
但是您的第一个理论是正确的 - 这个 block 的目的是创建一个命名函数,Alchemy。我猜想在 .....
中它会做其他事情来初始化这个函数变量,比如向它的原型(prototype)添加东西。
如果您调用 new Alchemy(config)
,则 config
将作为 userConf
传入。 new Alchemy
调用的结果将是一个类型为 Alchemy
的新对象,以及对 中关键字
区域将影响所述对象。this
的任何引用。 ...
关于javascript - 这个javascript函数声明是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617336/