據我所知,在JavaScript中,每個對象都有一個prototype
,它公開了一些默認屬性。我有以下代碼,我試圖通過prototype
設置兩個對象的Year屬性。但是這兩個電話都失敗了。訪問Javascript對象原型
如果我無法訪問prototype
,我如何覆蓋toLocalString()
的任何對象?請注意,以下代碼將在prototype
屬性上進行測試,但我的意圖是覆蓋toLocalString()
方法。
var car = {
Make: 'Nissan',
Model: 'Altima'
};
car.Year = 2014;
alert(car.Year);
alert(car.prototype); // returns undefined
car.prototype.Year = 2014; // Javascript error
// --------------
function Car() {
this.Make = 'NISSAN';
this.Model = 'Atlanta';
}
var v = new Car();
v.prototype.Year = 2014; // JavaScript error
alert(v.prototype);
在你的底部例如,它應該是'Car.prototype.Year = 2014' - 你在對象函數上設置原型 - 不是創建的實例。 – tymeJV 2014-10-01 19:49:32
你的意思是'toLocaleString()'而不是'toLocalString()'或者你想實現你自己的'toLocalString()'方法嗎? – pasty 2014-10-01 20:02:56
請看看[這個答案](http://stackoverflow.com/a/26149216/1841194) – 2014-10-01 20:07:53