JS中的phototype

简介: JS中的phototype原型法设计模式JS中的phototype.png原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。

JS中的phototype

原型法设计模式

JS中的phototype.png

原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。

javascript中的每个对象都有prototype属性

prototype属性:返回对象类型原型的引用

prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法

javascript的方法可以分为三类

a 类方法

People.sleep = function(){console.log('I Am Sleeping ...')}
People.sleep()

People.prototype.constructor.sleep
ƒ (){console.log('I Am Sleeping ...')}

People.prototype.constructor.sleep()
I Am Sleeping ...

var p = new People('Jack')

p.__proto__.constructor.sleep()

I Am Sleeping ...

b 对象方法

function People(name){
    this.name = name;
    this.hello = function(){
        console.log('Hello,World')
    }} 

var p = new People('Jack')

p: People {name: "Jack", hello: ƒ}

p.hello
ƒ (){
        console.log('Hello,World')
    }

typeof p.hello   =  "function"

p.hello()  输出  Hello,World
p.name 输出  "Jack"

p.__proto__

p.__proto__
{constructor: ƒ}

p.__proto__.constructor

ƒ People(name){
    this.name = name;
    this.hello = function(){
        console.log('Hello,World')
    }}

c 原型方法

prototype 属性使您有能力向对象添加属性和方法。

function employee(name,job,born){
  this.name=name;
  this.job=job;
  this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
employee.prototype.salary=null;
bill.salary=20000;
console.log(bill.salary);

相关文章
|
4月前
|
JavaScript 前端开发 Java
js常用技巧汇总
js常用技巧汇总
|
6天前
|
JavaScript 前端开发
js详解1
js详解1
20 2
|
6天前
|
JavaScript
js的一些理解
js的一些理解
11 1
|
1月前
|
JavaScript
this的使用(js的问题)
this的使用(js的问题)
|
4月前
|
存储 JavaScript 前端开发
js的一些小技巧
js的一些小技巧
|
6月前
|
移动开发 JavaScript 前端开发
什么是js? js的特点是什么?
什么是js? js的特点是什么?
48 0
|
6月前
|
人工智能 JavaScript 前端开发
js的转变
js的转变
34 0
|
11月前
|
JavaScript
js超实用的小技巧(1)
js超实用的小技巧(1)
|
JavaScript 前端开发 算法
JS之BigNumber.js 讲解
JS之BigNumber.js 讲解
979 0
JS之BigNumber.js 讲解
|
JavaScript
JS - This
JS - This
71 0