Javascript 如何使我的函数在全局范围内可见
我有以下javascript来实现函数Javascript 如何使我的函数在全局范围内可见,javascript,anonymous-function,Javascript,Anonymous Function,我有以下javascript来实现函数$E 在窗口上。onload会抛出未定义$E的错误 因此,我的问题是如何使$E在全局范围内可见,以便在(function(){})()之外访问它功能 window.onload = function() { $E("bhavik").warn(); } (function() { function $E(s) { return new ge(s) }
$E
在窗口上。onload
会抛出未定义$E
的错误
因此,我的问题是如何使$E
在全局范围内可见,以便在(function(){})()之外访问它代码>功能
window.onload = function() {
$E("bhavik").warn();
}
(function() {
function $E(s) {
return new ge(s)
}
function ge(sel) {
this.arg = sel;
return this;
}
ge.proto = ge.prototype = {warn: function() {
alert(this.arg)
}};
ge.proto.hi=function(){alert("hi "+this.arg)}
$E("bhavik").hi();
})(window);
要使变量在全局范围内可见,请在窗口中设置它。例如:
function $E(s) {
return new ge(s);
}
window.$E = $E;
要使变量在全局范围内可见,请在窗口中设置它。例如:
function $E(s) {
return new ge(s);
}
window.$E = $E;
您应该将窗口
变量设置为函数
,以使其可访问。这些链接将有所帮助。
您还可以在外部定义函数并使其成为全局函数
详细研究,
您应该将窗口
变量设置为函数
,以使其可访问。这些链接将有所帮助。
您还可以在外部定义函数并使其成为全局函数
详细研究,
只需在匿名函数之外声明它。通过在模块内声明所有这些代码,您正在创建一个新的作用域,与所有其他代码隔离。因此,如果您希望它在全局上下文中可用,只需在该函数外部声明即可。只需在匿名函数外部声明即可。通过在模块内声明所有这些代码,您正在创建一个新的作用域,与所有其他代码隔离。因此,如果您希望它在全局上下文中可用,只需在该函数之外声明它。尝试更改函数声明的顺序
(function() {
function $E(s) {
return new ge(s)
}
window.$E = $E;
function ge(sel) {
this.arg = sel;
return this;
}
ge.proto = ge.prototype = {warn: function() {
alert(this.arg)
}};
ge.proto.hi=function(){alert("hi "+this.arg)}
$E("bhavik").hi();
})(window);
window.onload = function() {
$E("bhavik").warn();
尝试更改函数声明的顺序
(function() {
function $E(s) {
return new ge(s)
}
window.$E = $E;
function ge(sel) {
this.arg = sel;
return this;
}
ge.proto = ge.prototype = {warn: function() {
alert(this.arg)
}};
ge.proto.hi=function(){alert("hi "+this.arg)}
$E("bhavik").hi();
})(window);
window.onload = function() {
$E("bhavik").warn();
测试时,这使函数从另一个函数中全局化:
function test()
{
window.$E = function() { alert('test'); };
}
test();
$E();
因此,要使其适应您的需要:
(function() {
function ge(sel) {
this.arg = sel;
return this;
}
window.$E = function $E(s) { return new ge(s); };
ge.proto = ge.prototype = {warn: function() {
alert(this.arg)
}};
ge.proto.hi=function(){alert("hi "+this.arg)}
$E("bhavik").hi();
})(window);
测试时,这使函数从另一个函数中全局化:
function test()
{
window.$E = function() { alert('test'); };
}
test();
$E();
因此,要使其适应您的需要:
(function() {
function ge(sel) {
this.arg = sel;
return this;
}
window.$E = function $E(s) { return new ge(s); };
ge.proto = ge.prototype = {warn: function() {
alert(this.arg)
}};
ge.proto.hi=function(){alert("hi "+this.arg)}
$E("bhavik").hi();
})(window);
为什么要编写function$E(){}
insite(function(){})代码>外部写入为什么要写入函数$E(){}
内部(函数(){})代码>外部写入我仍然无法访问iti仍然无法访问它为什么在写入函数abc(){…}
时不将其设置为全局并通过abc()
可用?为什么在写入函数abc(){…}
时不将其设置为全局并通过abc()
可用?