使用 JavaScript 一段时间后,我有了一些问题。
声明函数的方式是:
var myFunction = function(param){//code here}
但还有另一种声明函数的方式,即:
function myFunction(param){//some code}
如何区分两种声明函数的方法?
我的第二个问题是,我理解你可以从一个声明为以下方式的函数创建对象:
function Person(name){this.name=name;}
然后,您可以声明另一个函数,如下所示:
function Speak(){console.log(this.name);}
Speak函数是如何知道它与Person对象相关的?
this
关键字,请参考此处 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/this - elclanrsvar ben = new Person("Ben");
创建一个新的人时,然后调用 speak 并将调用对象设置为 ben:speak.call(ben);
如果 speak 是 Person 的行为,则应将其放在 Person.prototype 上:Person.prototype.speak=function()...
然后你可以执行ben.speak();
更多关于构造函数、原型和调用对象的信息请参考这里:https://dev59.com/J2Qo5IYBdhLWcg3wbe5K#16063711 - HMR