2017-09-12 16 views
-2

私はこれを繰り返し入力する作業を軽減するためにfunction id(_id) { return document.getElementById(_id); }を使用するこの習慣を持っています。関数はJavascriptのオブジェクトとどう違うのですか?

追記:

jQueryの小さなタスクのためにあまりにも重くなり、私はより多くのJavascriptを学んだように、私たちができるよう私たちはオブジェクトと同様の機能を周りに渡すことができることを知っているようになった

プロジェクトdo

var id = document.getElementById; 

どちらもまったく同じことをするようです。しかし、私はJavascriptの専門家ではないので、内部的に違いがありますか?それはどのように使用するのが好ましい方法ですか?

答えて

1

はい、コンテキストは:

const log = console.log; 

log("test"); 

上部習慣作業コンテキストが変更され、ログが(別名コンテキストなし)コンソールオブジェクトではなく、ウィンドウで呼び出さなければならないからです。しかし、簡単な回避策があります。

const log = console.log.bind(console); 

それとも、機能、例えば矢印のものを使用しますので、混乱を避けるために言って

const log = (...args) => console.log(...args); 
+0

は、関数を使用すると、より良く、より安全です。 – GauravP

+0

@ gauravPはい、またはバインドします。 –

関連する問題