function animal(){
this.eat = function (){
console.log('i will eat');
}
}
为什么不能用animal.eat()的方法去执行,而是用var一个实例,去执行。不理解其中原理
animal.eat(); //eat不是一个函数
function animal(){
this.eat = function (){
console.log('i will eat');
}
}
为什么不能用animal.eat()的方法去执行,而是用var一个实例,去执行。不理解其中原理
animal.eat(); //eat不是一个函数
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1.animal要运行一次才会执行函数体的内容
2.直接调用animal(),this在浏览器中指向window,在node中指向global
3.因此要向执行eat需要这么写:
4.var一个实例的方法是把animal当做构造器函数使用,new的过程中会执行函数体内容,并返回this,可以这么写: