Javascript名称空间中的函数调用
我有以下JS名称空间和函数: email.js:Javascript名称空间中的函数调用,javascript,namespaces,Javascript,Namespaces,我有以下JS名称空间和函数: email.js: window.EMAIL = window.EMAIL || {}; EMAIL.Add = (function () { var add = { }; function Test() { alert('EMAIL.Add.Test'); } } window.SCSD = window.SCSD || {}; SCSD.Add = (function () { var add = { }
window.EMAIL = window.EMAIL || {};
EMAIL.Add = (function () {
var add = { };
function Test() {
alert('EMAIL.Add.Test');
}
}
window.SCSD = window.SCSD || {};
SCSD.Add = (function () {
var add = { }
function Test() {
EMAIL.Add.Test();
}
}
SCSD.js:
window.EMAIL = window.EMAIL || {};
EMAIL.Add = (function () {
var add = { };
function Test() {
alert('EMAIL.Add.Test');
}
}
window.SCSD = window.SCSD || {};
SCSD.Add = (function () {
var add = { }
function Test() {
EMAIL.Add.Test();
}
}
但我在执行时遇到了以下错误:
Uncaught TypeError: EMAIL.Add.Test is not a function
我错过了什么?试试这个
window.EMAIL = window.EMAIL || {};
EMAIL.Add = {};
EMAIL.Add.Test = function() { alert('EMAIL.Add.Test'); }
假设您已经正确关闭了这些闭包,您实际上还没有将
Test
分配给EMAIL.Add
在任何一点上被否决,因为代码在语法上不正确更改了EMAIL.js:window.EMAIL=window.EMAIL |{};EMAIL.Add.Test=function(){alert('EMAIL.Add.Test');}EMAIL.Add=(function(){…我更改了EMAIL.js:window.EMAIL=window.EMAIL{124;};EMAIL.Add.Test=function(){alert('EMAIL.Add.Test');}EMAIL.Add=(function(){…我更改了scsd.js:scsd.Add=(function(){var Add={};function Test(){(){console.log('Inside-SCSD-Test');EMAIL.Add.Test();}我得到了'Inside-SCSD-Test',但之后出现了相同的错误