一个对象为构造函数,能用他的参数作为属性访问他吗?

如题,下面是我在学习一个教程视频时的疑惑,他的访问方法是不是有问题?我在 Chrome 的 Console 中调试结果为undefined

// 构造函数 Car
function Car(logo) {
    this.logo = logo || 'unknown name';
}
//设置 Car 的 prototype 属性
Car.prototype = {
        start: function () {
            console.log('%s start', this.logo);
        },
        run: function () {
            console.log('%s running', this.logo);
        },
        stop: function () {
            console.log('%s stop', this.logo);
        }
    }
    // 构造函数 LandRover
function LandRover(serialno) {
    this.serialNumber = serialno;
}
// 设置 LandRover 的 prototype 属性
LandRover.prototype = new Car('landRover');
// 创建 LandRover 对象
var landRover1 = new LandRover(100000);
var landRover2 = new LandRover(100001);

// // 访问对象属性
console.log(landRover1.serialno);
阅读 3.5k
2 个回答

最后一句改成 console.log(landRover1.serialNumber);
serialno 只是形参,不是属性。可能是你看的教程写错了吧。

可能是你写错了,这样肯定是undefined,因为landRover1根本没这个属性,有的是serialNumber,和原型上的东西

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏