【发布时间】:2010-02-02 05:56:09
【问题描述】:
我有一个包含以下代码的空 .js 文件:
Cart.CheckoutNow = {
...
}
// Alias
if (typeof(CheckoutNow) === 'undefined') {
CheckoutNow = Cart.CheckoutNow;
}
else {
alert('CheckoutNow is already a variable in window.');
}
如何让// Alias 代码出现在页面顶部,但在声明 Cart.CheckoutNow 后让它执行?
这可行,但我不喜欢你必须在底部调用 alert():
alias = function() {
if (typeof(CheckoutNow) === 'undefined') {
CheckoutNow = Cart.CheckoutNow;
}
else {
alert('CheckoutNow is already a variable in window.');
}
};
Cart.CheckoutNow = {
...
};
alias();
【问题讨论】:
-
顺便说一句,你想要
if( typeof CheckoutNow === 'undefined' )没有CheckoutNow周围的大括号。 -
顺便说一句,不需要严格比较,typeof总是返回一个字符串
-
这个问题实际上似乎与 javascript 闭包没有任何关系。
标签: javascript closures