在处理构造函数时,我注意到特权方法被写成函数表达式,前面有this工作正常,而函数声明返回一个类型错误,其中function declaration is not a function.
我知道我们可以通过内部使用thisie从对象实例公开函数:this.functionName
var Foo = function(){
var _color= "blue";
this.getColor = function(){
return _color;
}
function setColor(newColor){
this._color = newColor;
}
}
var bar = new Foo();
console.log(bar.setColor('red'));
关于function setColor导致日志输出的函数声明在幕后发生了Uncaught TypeError: bar.setColor is not a function什么?提升/其声明的范围是函数表达式这一事实与此有关吗?
MM们
aluckdog
相关分类