js 原型和call()总结
2018-02-11 14:58
253 查看
/* 原型也是一个对象 把共有的属性或者方法放在原型中 */ //Person.prototype 原型 /*Person.prototype = { } 祖先*/ Person.prototype.name = "这是祖先的名称 "; /*多个属性可以这样定义*/ Person.prototype = { age : 20, sex :"女", constructor : Car } /*构造函数*/ function Person(sex){ this.sex =sex; } function Car() { } /*子孙类可以继承父类的属性和方法,但是子类对象不能修改父类的对象的属性,只能自己进行操作才可以实现 也就是说person.name= "这是祖先的名称 " */ var person = new Person(); /*constructor是对象的构造函数*/ console.log(person.constructor) Animal.prototype.name = "这是个动物的类"; function Animal() { /*这里可以理解为放对象没有这个属性的时候才会去原型中查找,其中也可以改变原型的指向*/ // var this ={ // _proto_ : Animal.prototype // } } var animal = new Animal(); //其中注意一下两种写法 Animal.prototype.name = " 这是另外一个动物的类"; //打印Animal.prototype.name = " 这是另外一个动物的类";这个可以这样理解修改的是属性 Animal.prototype = { name : " 这是另外一个动物" } // Animal.prototype.name = " 这是个动物的类"; /*创建对象*/ var obj = Object.create(原型); /*call 和apply的作用*/ function Person1(name, age) { /*其中这里的this == object*/ this.name = name; this.age = age; } /*这里的Student调用Person1的函数*/ function Student (name, age ,grade) { /*Person1.apply(this , [name, age]);*/ Person1.call(this ,name,age); this.grade =grade; } var student = new Student('JJJJJ',20,1); var person1 = new Person1('ZK',100); var object = { } /*call的作用是:改变this的指向*/ Person1.call(object ,'zhe',52);
相关文章推荐
- JS高级之原型链的总结
- JS 原型链学习总结
- js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf
- JavaScript学习总结三:js基于原型面向对象
- JS 面向对象编程、原型链、原型继承(个人学习总结)
- JS的this总结(上)-call()和apply()
- js中继承的几种用法总结(apply,call,prototype)
- JavaScript学习总结三:js基于原型面向对象
- 为您解惑:js中继承的几种用法总结(apply,call,prototype).........
- JS中的call()方法和apply()方法用法总结
- js中继承的几种用法总结(apply,call,prototype)
- #笔记#圣思园 JavaWeb 第57讲——JS继承:对象冒充、call方法、apply方法、原型链方式、混合方式
- JS(十三)原型、原型链、call、apply(上)
- js: this,call,apply,bind 总结
- js继承call()和apply()方法总结
- javascript中的继承(JS基于原型链的继承),以及JS中的call和apply函数
- js中继承的几种用法总结(apply,call,prototype)
- js中继承的几种用法总结(apply,call,prototype)
- js之call() apply() bind() $proxy()的总结
- 前端总结·基础篇·JS(一)原型、原型链、构造函数和字符串(String)