我有一个空的.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();

最佳答案

在没有解释为什么要尝试执行此操作的情况下,我将猜测这是为了更好地进行代码组织。如果是这样,我会按照这种方式将您的JavaScript分成多个文件,并按以下顺序包含在您的页面中:

// namespace.js
if (typeof Cart === 'undefined') {
    Cart = {};
}

// checkoutnow.js
Cart.CheckoutNow = {
    // module code here
}

// alias.js
alias = function() {
    // alias code here
}

// domready.js
onDocumentReadyFunction() {
    alias();
}

10-04 15:16