2016-12-25 5 views
-2

私を助けてもらえますか? JavaScriptでウィンドウのグローバルオブジェクトを印刷した方法で print()機能を呼び出すためのJavaScriptの2行を、次のコードを考えるJavaScriptでのテスト

書く:テスト中

、私はこの質問を理解していませんでしたコンソール?

コードでは、変数windowを使用しないでください。お気軽にコメントしてください。

Printer = function(){ 
    this.print = function() { 
     console.log(this); 
    } 
} 
var printer = new Printer(); 
+2

もっと具体的に...あなたは何を理解していますか?私たちは読者ではありません。今すぐ[質問]と[質問のチェックリスト](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist) – charlietfl

+0

を読んでいただき、ありがとうございました、私は理解していませんでしたこれを行う方法:変数ウィンドウを使わずにWindowグローバルオブジェクトを出力する方法でprint()関数を呼び出します。 – souf

+1

試してみてください 'printer.print.call(this)' – charlietfl

答えて

1

回答:

printer.print.call(this); 
//or 
printer.print.bind(this)(); 

これは便利です理由:

例:だから、これは動作するはず

function person(){ 
this.clicker=0; 
document.body.addEventListener("click",function(){ 
this.clicker++; 
}); 
} 

はずの:オブジェクトにイベントリスナーを追加しますそれ?そうでないと、eventlistenerはこれを自動的にクリックされた要素としてバインドします。これは、クリッカープロパティを持たないボディーになります。だから、これを無効にするような状況の便利...

document.body.addEventListener("click",function(){ 
this.clicker++; 
}.bind(this)) 

以降のブラウザ(矢印のfuncsを参照)に:

document.onclick=()=>{ 
this.clicker++; 
}; 

は、チュートリアルでは、あなたに伝えたい厥。うまくいけば...

+0

ありがとう@ジョナスw、それはとてもいいです – souf

関連する問題