1

内部から外部へのアクセス関数を見てきましたが、javaScript ではなく JQUERY を使用して外部関数から内部関数の変数にアクセスする方法について正確な答えを見つけることができません。

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

$(document).ready(function(){
    var outv=1;
    function innerfunc(){
        var innerfuncv=2;
        var outv=3;
        alert(outv);

    };
    alert(outv);
    innerfunc();
    alert(outv);
    alert(innerfunc.outv);



});//$(document).ready(function() END

助けてください。ありがとう!さらに情報が必要な場合はお知らせください。

4

3 に答える 3

2

私の知る限り、それはできません.1つのオプションは、オブジェクトでコンテキストをラップすることです:

$(document).ready(function(){
    var outv=1;

    var inner = {
        innerfuncv:2,
        outv:3,
        innerfunc : function (){        
                       console.log(this.outv);
                    }
        }      
    console.log(outv);
    inner.innerfunc();
    console.log(outv);
    console.log(inner.outv);
});
于 2013-09-04T14:41:32.413 に答える
1
$(document).ready(function(){
    var outv=1;//you can access this any where within dom ready..
    function innerfunc(){
       var innerfuncv=2;//this is a local variable and its scope is within function
         outv=3;//get rid of var when you have already declared it.
        alert(outv);//this will get overWritten..1 is replaced by 3

    };
    alert(outv);//will alert 1
    innerfunc();
    alert(outv);//will alert 3,not 1



});//$(document).ready(function() END
于 2013-09-04T14:34:05.497 に答える