JS原型链 new 与 Object.Create()区别 代码及继承的方法
来源:互联网 发布:网络诈骗50万100万 编辑:程序博客网 时间:2024/05/16 07:17
/*var F=function(){} var son=new F(); console.log(son.__proto__==F.prototype)//true*//* var F={a:1} var son=Object.create(F); console.log(son.__proto__); {a:1}*//*var F=function(){this.a=3; }; var f=new F(); var son=Object.create(F.prototype); console.log(son.__proto__== F.prototype);//true*/
new就是该对象的 _ proto _属性指向该类的prototype
而create就直接指向显示的指向
下面我们来实现继承:
第一种:
Cat.prototype=new Animal();//如上文所说new就是该对象的 _ _proto_ _属性指向该类的prototype那么这句话翻译一下就是 Cat.prototype.__proto__=Animal.prototype
验证:
function Cat(){}function Animal(){}Cat.prototype=new Animal();console.log(Cat.prototype.__proto__==Animal.prototype)//true
这种方法的不足就是声称继承的时候创建的对象总要初始化。
所以我们干脆直接:
Cat.prototype.__proto__==Animal.prototype
这就是我们的第二种方法。
第三种:用call
function Animal(name){ this.name = name; this.showName = function(){ console.log(this.name); }}function Cat(name){ Animal.call(this, name);}var cat = new Cat("Black Cat");cat.showName();//Black Cat
1 0
- JS原型链 new 与 Object.Create()区别 代码及继承的方法
- 谈谈 Object.create ,JS的原型继承
- js中的new操作符与Object.create()的作用与区别
- JS this 与new 及原型链
- Object.create 与 new function 区别
- Object.create(null)和new Object的区别
- JS继承及原型链
- js原型链及继承
- javascript中的原型与继承4--原型继承Prototypal Inheritance(Object.create)与寄生继承(Parasitic Inheritance)
- Ruby on Rails 关于object的方法create 和 new 的区别
- js原型链继承及调用父类方法
- js原型链与继承
- JS继承与原型链
- Js原型链与继承
- nodejs工具util.inherits与原生js的原型链继承实现与区别
- JS-实现继承及避免原型链的对象共享
- js 中new Object 和 {}的区别
- 原型链的两种继承方式及区别
- Java学习第8天(3):面向对象-继承-final
- Back Track 5 之 Web踩点 && 网络漏洞
- 史上最全AndroidStudio快捷键中文版
- makefile中的CFLAGS与LDFLAGS
- 2015CSDN下载热门书籍
- JS原型链 new 与 Object.Create()区别 代码及继承的方法
- Back Track 5 之 漏洞攻击 && 密码攻击 && Windows下渗透工具
- LibGDX教程——重建Flappy Bird——(5) 添加Box2D物理仿真和游戏逻辑
- Java学习第8天(4):面向对象-继承-abstract
- 竟然有92%的年轻创业者认为事业比家庭重要,三分之一的人创业成功后想移民!
- ViewPager 的使用
- AJAX学习笔记(五)——JSON格式
- Spring Integration实例代码分析之basic--http
- mongodb