关于js对象的prototype 属性用法 employee.prototype.salary=null;是在对象原型上的salary 当对象没有salary的时候才会被找到bill.salary=20000; 只有bill才有的salary 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function employee(name,job,born){this.name=name;this.job=job;this.born=born;}var bill=new employee("Bill Gates","Engineer",1985);employee.prototype.salary=10;bill.salary=20000;document.write(bill.salary);var k=new employee("Bill Gates","Engineer",1985);document.write(k.salary); prototype是所有对象都有的,第一种是直接给对象增加属性prototype相当于oo语言的继承,第一种就是覆载 function employee() {}var bill=new employee();employee.prototype.salary=1000;//给 employee 类附加一个属性bill.salary=20000;document.write(bill.salary);x = new employee();document.write(x.salary);200001000function employee() {}var bill=new employee();//employee.prototype.salary=1000;//给 employee 类附加一个属性bill.salary=20000;document.write(bill.salary);x = new employee();document.write(x.salary);20000undefined 在读取bill.salary时,bill会先在自身属性里查找,如果自身有该属性就停止查找并把salary的值读取出来,如果没有就继续向上 在bill的原型对象(即employee.prototype)里查找。第一段代码 实际上可以理解为bill 有两个salary属性,一个是它自身的且值为2000 一个是在原型对象里的值为null,因为查找属性时会先从对象自身开始查找,所以打印出来的是bill自己的salary.第二段代码 先在bill自身属性里找 结果没有 所以接着在原型对象里找 结果找到了 所以打印出来的是原型对象里的salary. employee.prototype.salary是全体employee的salary的默认值employee.prototype.salary=null;//设置默认值为nullemployee.prototype.salary = 20000;//设置默认值为20000 如果你拿employee 当 class 来用的话.实例化每个对象都引用同一个 employee.prototype. 如果你不要共享的话,就写在class里面,用this .当你调用 obj.salary 的时候js会先去找obj属性,如果没有找到就会用 prototype来代替 javascript求教!! js点击一个按钮,另一个隐藏按钮变颜色问题 如何js实现克隆行 div随鼠标移动.但是连续移动的话是每2秒动一次 怎么在JavaScript得到提交过来submit的值? 字符编码的问题 请教JS高手 高手请进!!!请问如何动态移动layer层?? 关于window.close()的问题,请大家帮帮忙.谢谢! 怎樣知道一個TD在BODY中的top,left,width,height 关于打开新窗口 你们都是怎么学JavaScript的?
{
this.name=name;
this.job=job;
this.born=born;
}var bill=new employee("Bill Gates","Engineer",1985);employee.prototype.salary=10;
bill.salary=20000;document.write(bill.salary);
var k=new employee("Bill Gates","Engineer",1985);
document.write(k.salary);
document.write(bill.salary);x = new employee();
document.write(x.salary);
200001000
function employee() {}var bill=new employee();//employee.prototype.salary=1000;//给 employee 类附加一个属性bill.salary=20000;
document.write(bill.salary);x = new employee();
document.write(x.salary);
20000undefined
第二段代码 先在bill自身属性里找 结果没有 所以接着在原型对象里找 结果找到了 所以打印出来的是原型对象里的salary.
employee.prototype.salary=null;//设置默认值为null
employee.prototype.salary = 20000;//设置默认值为20000
实例化每个对象都引用同一个 employee.prototype. 如果你不要共享的话,就写在class里面,用this .
当你调用 obj.salary 的时候js会先去找obj属性,如果没有找到就会用 prototype来代替