既存の関数とオブジェクトは次のとおりです。
コードをコピーします。 コードは次のとおりです。
var doubling=function(x){
return x*2};
var obj={
; val:100,
};
関数呼び出しモードの場合、これはグローバル オブジェクトにバインドされます。この状況は、オブジェクトのプロパティとメソッドが初期化されるときにも反映されることがあります。次に、ojb に次のコードを追加します。
コードをコピーします。 コードは次のとおりです。
var obj={val:100, prop:function(){ var that=this;
document.write; ('名前: '+that+'; タイプ: '+typeof(that)+'
');
return doubling(that.val)(),
get_prop:function(){
var that=this ;
document.write('name: '+that+'; type: '+typeof(that)+'
');
return doublelling(that.val);
prop は実行された匿名関数を使用し、関数呼び出しモードでオブジェクトの val 値の doubling() 操作の結果を取得することを期待しますが、 get_prop はメソッド呼び出しモードです。
スクリプトがロードされると、objの属性propが初期化されるときに、ステートメント「name: [object Window]; type: object」が出力されます。obj.get_prop()を使用すると、ステートメント「name: [object Object]」が出力されます。 ; タイプ: オブジェクト」が出力されます。前者は関数本体の「this」がグローバル変数 window であることを示し、後者は予想通り obj そのものです。
属性 prop とメソッド get_prop() の戻り値を確認できます。前者は window オブジェクトを乗算して NaN を返し、後者は 200 に等しくなります。
obj リテラル式に加えて、new_prop 属性と new_get_prop() メソッドを設定することが期待されます。結果は前の記事と一致し、メソッド呼び出しモードはこれ自体へのバインディングを取得します。
http://www.bkjia.com/PHPjc/324210.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/324210.html
技術記事既存の関数とオブジェクトは次のとおりです。 次のようにコードをコピーします。 var doubling=function(x){ return x*2 }; 関数呼び出しモードでは、これはグローバルオブジェクト 。こんなの…