4

私はこのコードを持っています

((function(){
var a=2;
var b=3;
var c=b+a;
alert(c);//alert 5
})());
alert(c); //no alert

私の質問は、cをグローバルスコープにエクスポートする方法はどれですか?あなたがすべての方法を与えることができれば。ありがとうございました!

4

4 に答える 4

4
var c = ((function(){
    var a=2;
    var b=3;
    var c=b+a;
    alert(c);//alert 5
    return c;
})());
alert(c);

これを行う方法はいくつもあります。グローバルで暗黙的または明示的にプロパティの割り当てを行うこともできます。

window.c = b+a;
this.c = b+a;
c = b+a;
于 2012-11-08T07:13:52.747 に答える
1

とても簡単です!JavaScriptのすべてのグローバル変数は、実際には「ウィンドウ」オブジェクトの子属性であるため、グローバルスコープで変数を宣言すると、その変数がウィンドウオブジェクトの属性になります。匿名関数から、次の手順を実行するだけで、「c」またはその他の変数をグローバルスコープに配置できます...

window.c=b+a;
alert(c); // Same!

楽しみ :)

于 2012-11-08T07:18:47.160 に答える
0
var c=0;
((function(){
    var a=2;
    var b=3;
    c=b+a;
    alert(c);//alert 5
})());

alert(c); //no alert
于 2012-11-08T07:17:35.773 に答える
0

(function (window) {
    // this is local
    var c = 'local';
    
  // export to the global scope
    window.c = c || '';
})(window); // Pass in a reference to the global window object

console.log(c) // => 'local'

他のいくつかのオブジェクトを渡すこともできますが、それは1つだけに限定されません。これがどのように機能するかについての本当に良い説明です

于 2016-11-07T07:34:06.303 に答える