如您所知,在 javascript 中函数是对象,我的问题在于以下代码:
function Car() {
this.color = "black";
}
console.log(Car.name);
console.log(Car.color);
输出:汽车未定义
既然我可以访问 Car 对象的 name 属性,为什么我不能以相同的方式访问 Car 对象的 color 属性。
另一个例子:
console.log("Hello".charAt.name);
console.log("Hello".charAt.length);
输出:charAt 1
这里 charAt 是 String 对象的一个方法,但我使用它的名称作为引用来访问 name 和 length 属性,而不仅仅是这些属性还有一些方法,例如:hasOwnProperty 和 isPrototypeOf
我的问题是那些属性和方法到底是什么?
最佳答案
在类术语中,name
是类 Car
的属性,而 color
是类 实例的属性汽车
。您只能在创建 color
属性的新实例时访问它。
function Car() {
this.color = "black";
}
var car = new Car()
document.write(Car.name +'<br>');
document.write(car.color +'<br>');
关于JavaScript:默认对象的属性和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33547095/