关于javascript类继承的一些问题 本帖最后由 zhengshuanger 于 2010-07-24 17:52:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ在哪里测的,我测试的结果为man.constructor === Man // return false, why???man.constructor === Person // return true, why???man.constructor === Object // return false, why???FF3.6 下的firebug 1 Man是构造函数,它的prototype是Person构造出来的对象,不是Person本身2 man的constructor是Person,是因为new的内部行为Man.prototype = new Person() ==Man.prototype={constructor:Person}man.constructor === Man // return falseman.constructor === Person // return trueman.constructor === Object // return false Man.prototype = new Person(); // 将Man的原型指向Person的一个实例// 因为Person的实例可以调用Person原型中的方法, 所以Man的实例也可以调用Person原型中的所有属性。 function Person(){ }function Man(){ }Man.prototype = new Person(); // 这里为什么不用 Man.prototype = Person.prototype; ????var man = new Man();alert(man.constructor == Man.prototype.constructor)alert(Man.prototype.constructor == Person)alert(man.constructor == Person) Man.prototype = new Person();Man 继承了 Person 要把 constructor 指向回自己的,不然自己的constructor 就没有了 上海找工作,求职招聘,免费发布求职招聘信息请登陆网站http://www.5158h.com上海求职住宿http://www.5158h.com Man.prototype = new Person(); // 这里为什么不用 Man.prototype = Person.prototype; ????因为如果Man.prototype = Person.prototype了,那么这两个类就指向同一个原型链了,Man.prototype.newFunction = ... 这样扩种后,父类Person也会增加这个方法,这是我们不想看到的情况,new一个父类的对象则不会出现这种问题。 判断包含&号的字符是否相等的问题 正则表达式替换2 139,30 € 到760€62 请问怎么用正则式匹配指定的<div> 跪求点击伸缩的JS代码 js这个功能不知道是否能实现啊? Cannot show image and flash 在IE7.0或者遨游浏览器下,怎样使刷新按钮失效(别跟我说屏蔽按键F5,谢谢) showModalDialog问题,急啊,在线等 js中如何弹出文件保存对话框? 哪位有禁止页面打开源代码、拷贝和打印的代码!! 用js写一个函数往FreeTextBox控件里面插入一个框架 他妈的气死了--没有权限??
man.constructor === Man // return false, why???man.constructor === Person // return true, why???man.constructor === Object // return false, why???
FF3.6 下的firebug
2 man的constructor是Person,是因为new的内部行为
Man.prototype = new Person() ==Man.prototype={constructor:Person}
man.constructor === Man // return falseman.constructor === Person // return true
man.constructor === Object // return false
// 因为Person的实例可以调用Person原型中的方法, 所以Man的实例也可以调用Person原型中的所有属性。
alert(Man.prototype.constructor == Person)
alert(man.constructor == Person)
Man 继承了 Person 要把 constructor 指向回自己的,不然自己的constructor 就没有了
请登陆网站http://www.5158h.com上海求职住宿http://www.5158h.com
因为如果Man.prototype = Person.prototype了,那么这两个类就指向同一个原型链了,
Man.prototype.newFunction = ... 这样扩种后,父类Person也会增加这个方法,这是我们不想看到的情况,new一个父类的对象则不会出现这种问题。