第二段代码,优势在哪?
- JScript code
function Odemo(name) { this.name1=name; this.sayName=sayName; //引用外面的函数 } function sayName() { return this.name1; } var a=new Odemo('aaa'); alert(a.sayName()); var b=new Odemo('bbb'); alert(b.sayName()); alert(a.sayName==b.sayName); //显示true- JScript code
function Odemo(){} Odemo.prototype.name='abc'; Odemo.prototype.sayName=function() { return this.name; } var a=new Odemo(); alert(a.sayName()); //显示abc var b=new Odemo(); alert(b.sayName()); //显示abc alert(a.syaName==b.sayName); //显示false第一段代码的sayName是相等的
第二段则不相等的
是不是说第二段每new一次Odemo
就创建了一个新的对象?
那这样,相对比第一段,优势在哪?
[解决办法]
保护变量。。
[解决办法]
第二段最后一句a.syaName拼写错了,拜托别拿这种低级错误在这浪费大家感情好么?
这两段代码的区别在于,第一段的name是独立的,第二段的name是共享的,仅此而已,sayName都是同一个