ホームページ  >  記事  >  ウェブフロントエンド  >  jsオブジェクトの外部アクセスまたはproblem_javascriptスキルの呼び出し

jsオブジェクトの外部アクセスまたはproblem_javascriptスキルの呼び出し

WBOY
WBOYオリジナル
2016-05-16 18:58:201184ブラウズ

以下は私のコードです:

<script> <br>this.a; <br>this.b; <br>abc.prototype = { <br>getData:function(){ <br>var c = function(num){ <br>alert(num); <br>this.b = num; <br>c('12345' ); <br>}, <br>clearData:function(){ <br>this.getData(); <br>} <br>} <br>var d = new abc(); <br>d.clearData(); <br></script>
var c = function(num){
alert(num); this.b = num;
c('12345');
取得した num を最初に定義した this.b に渡したいのですが、これはできません。書き方がわかりませんか? 現在の形式は変更できません。変更できるのは c = function(){ here} だけです。

は次のように理解できます。 引用:
function functionName(arg){...} ;

functionName(argvalue); この形式で関数を使用するのが最も一般的です。

「()」(括弧)で囲まれたステートメントを「名詞」に変えることができます。引用:
(関数(仮パラメータ){関数本体}) は匿名関数を括弧で囲み、コードの他の部分にとっては「名詞」と同等になります。

したがって、参照:
(関数(仮パラメータ){関数本体})(実パラメータ) は、上記の最も一般的な参照と同じくらい理解しやすいです:
関数名 (実パラメータ)はい、それは匿名関数を定義し、それをすぐに呼び出すことを意味します。引用:
c = (function(that){return function(num){alert(num);that.b = num}})(this) は匿名関数を定義し、それをすぐに呼び出します。この関数は匿名関数を返します。の場合、返された関数には名前 c が割り当てられます。
ここでは、this オブジェクトが実パラメータとして仮パラメータに渡され、abc インスタンス オブジェクトの参照が内部の匿名関数に提供されます。
つまり、c は abc インスタンス オブジェクトにアクセスできる関数になります。
技術的な記事、好きです
こんな書き方もできます







[Ctrl A すべて選択 注: ]
を使用しますバインドメソッド


外部 Js を導入する必要がある場合は、
を実行するために更新する必要があります]
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。