2016-12-14 72 views
1

this的值設置爲預期對象時,使用調用和綁定非常重要。但是,使用this而不是將對象作爲參數傳遞給函數的意義何在?調用,綁定,應用Vs將參考對象作爲參數傳遞

在IE9及以下版本中不支持.bind後,發生了問題,因此我開始將對象作爲參數傳遞給我調用的函數。 (我知道我可以使用一個墊片爲bind但這不是問題,問題是背後使用this的理由。)

什麼是JavaScript中的this, call, apply, bind語法的目的又是什麼來解決?將對象作爲參數傳遞給跨瀏覽器支持和簡單性(因爲this通常被誤解或忘記在代碼中正確設置)不是更簡單嗎?

+0

['Function.prototype.bind()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind)不限於只是'thisArg'。您可以設置多個參數。 – canon

+0

'this'是基於類的編程中的一個重要關鍵字,其中類引用可以訪問自己的屬性和方法。 Javascript具有真正的元素面向對象(基於類)編程以及函數式編程 –

+0

'this'與*方法*的面向對象思想密切相關 - 即屬於(或以某種方式在)一些擁有的對象。我們真的*需要*可以屬於對象的功能嗎?當然不是;一些編程語言只是使它成爲慣用的。 – apsillers

回答

-2

據我所知,這種技術在某些語言(如Delphi)中使用。但是使用一個參數的方法我猜更方便。它不是一種實用的風格,它是OOP風格,我們喜歡它,對吧? :)