2016-12-14 81 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风格,我们喜欢它,对吧? :)