Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使我的函数在全局范围内可见_Javascript_Anonymous Function - Fatal编程技术网

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) }

我有以下javascript来实现函数
$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()
可用?