JavaScript 原型

简介: 原型对象:每一个对象都从原型继承属性 原型的存在 所有通过对象直接量创建的对象都具有同一个原型对象,通过Object.prototype获得对该原型对象的引用 通过new关键字和构造函数创建的对象的原型就是构造函数的prototype属性的值,当然通过new Object()创建的对象也继承自Object.

原型对象:每一个对象都从原型继承属性

原型的存在


  • 所有通过对象直接量创建的对象都具有同一个原型对象,通过Object.prototype获得对该原型对象的引用
  • 通过new关键字和构造函数创建的对象的原型就是构造函数的prototype属性的值,当然通过new Object()创建的对象也继承自Object.prototype
  • 通过Object.create()创建的对象使用第一个参数作为创建对象的原型
  • 没有原型的对象为数不多,Object.prototype就是其中之一,不继承任何属性
  • 所有的内置构造函数都具有一个继承自Object.prototype的原型,所以Array.prototype继承自Object.prototype,由new Array()创建的Array对象的属性同时继承自Array.prototype和Object.prototype。则一系列原型对象链接起来构成了我们所说的原型链

原型的作用


  • 类继承:原型对象的属性被类的所有实例所继承,如果原型对象的值是函数,这个函数就做作为类的实例方法调用

原型的访问


  • 类访问原型对象的方式:ClassName.prototype
  • 类的实例访问原型对象的方式:ObjectName.constructor.prototype(ObjectName.__ proto__)
目录
相关文章
|
20天前
|
JavaScript 前端开发
js开发:请解释原型继承和类继承的区别。
JavaScript中的原型继承和类继承用于共享对象属性和方法。原型继承通过原型链实现共享,节省内存,但不支持私有属性。
19 0
|
JavaScript 前端开发 Java
深入JS面向对象(原型-继承)(三)
深入JS面向对象(原型-继承)
31 0
|
JavaScript 前端开发 Java
深入JS面向对象(原型-继承)(一)
深入JS面向对象(原型-继承)
32 0
|
4月前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(三)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
4月前
|
设计模式 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(一)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
4月前
|
前端开发 JavaScript
JavaScript中的原型和原型链
JavaScript中的原型和原型链
|
4月前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(二)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
4月前
|
JavaScript 前端开发
JavaScript原型,原型链
JavaScript原型,原型链
|
2月前
|
JavaScript
JS数组增删方法的原理,使用原型定义
JS数组增删方法的原理,使用原型定义
|
2天前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
8 2