如何在javascript中调用窗口对象的用户定义函数
我试图从外部调用一个函数,该函数在窗口对象中定义为,但它抛出了一个错误如何在javascript中调用窗口对象的用户定义函数,javascript,html,Javascript,Html,我试图从外部调用一个函数,该函数在窗口对象中定义为,但它抛出了一个错误 window.vcm = (function() { "use strict"; function red(){ alert('red'); } }); vcm.red();//Error at this line... 我不熟悉javascript中的OOPS。谁能告诉我如何在这里调用此函数。red仅存在于分配给window.vcm的函数中,并且仅在执行
window.vcm = (function() {
"use strict";
function red(){
alert('red');
}
});
vcm.red();//Error at this line...
我不熟悉javascript中的OOPS。谁能告诉我如何在这里调用此函数。
red
仅存在于分配给window.vcm的函数中,并且仅在执行该函数时才存在。此外,函数没有属性red
考虑这个更简单的例子:
function foo() {
function bar() {}
}
bar(); // will throw an error
调用bar
将引发错误,因为bar
未在调用它的范围内定义
似乎要将对象分配给window.vcm
,该对象的属性为红色
:
window.vcm = {
red: function (){
"use strict";
alert('red');
}
};
在这里,我使用一个对象文字来创建一个属性为red
的对象
更多信息:
- vcm
的值没有红色属性
也许您的意思是这样的,其中vcm
是一个对象,它具有一个属性red
,这是您可以调用的函数:
window.vcm = {
red: function(){
"use strict";
alert('red');
}
};
vcm
本身也有可能成为一个函数,并且它有一个red
属性,这是一个函数:
window.vcm = (function() {
"use strict";
var vcm = function() { alert("vcm"); }
vcm.red = function() { alert('vcm.red'); };
return vcm;
})();
vcm(); // "vcm"
vcm.red(); // "vcm.red"
有两种方法
方法1:
window.vcm={
红色:函数(){
“严格使用”;
警报(“红色”);
}
};
vcm.red()代码>
方法2:
window.vcm = (function() {
"use strict";
this.red = function(){
alert('red');
}
});
var x = new vcm();
x.red();
你有什么错误?