JavaScript原型的问题
上一阵有一个同事在W3C上改了学习了一段代码,然后改掉了一点,记得代码好像是这样
function aFunction(name,age){ this.name = name; this.age = age; } var aFun = new aFunction("我是小严",18); console.log("姓名:"+aFun.name+",年龄:"+aFun.age); //姓名:我是小严,年龄:18 console.log(aFun.constructor.name) //aFunction 这是为什么呢
我想要的是this.name却给我一个方法名字,起先我还挺纳闷的,请看这、他是构造器指向的是本身

再看一段代码
function aFunction(name,age){ this.name = name; this.age = age; } var aFun = new aFunction("我是小严",18); console.log("姓名:"+aFun.name+",年龄:"+aFun.age); //姓名:我是小严,年龄:18 aFun.constructor("我是大严!",15) //这是为什么呢 console.log(aFun.name) //我是大严 直接覆盖了上一个结果
其实每个构造函数的实例继承了这一属性,所以实例的constructor指向它们的构造函数。看
function aFunction(name,age){ this.name = name; this.age = age; } var aFun = new aFunction("我是小严",18); console.log(aFun.constructor == aFunction)//true

大致结构图是这个样子
Java JavaScript ECMAScript 小严

浙公网安备 33010602011771号