实例属性 静态属性与原型属性

  • 实例属性,静态属性与原型属性

    实例属性定义在实例上,可以在构造函数的内部的this上进行定义,也可以在构造函数实例化以后的实例上进行定义。

    静态属性,定义在构造函数之上的属性。可通过构造函数直接访问。

    原型属性,定义在构造函数原型对象之上的属性。

  • 实例方法,静态方法与原型方法

    实例方法定义在实例上,可以在构造函数内部的this上进行定义,也可以在构造函数实例化以后的实例上进行定义。

    静态属性,定义在构造函数之上的属性。可通过构造函数直接访问。

    原型属性,定义在构造函数原型对象之上的属性。

    function Person(name) {

    this.name = name;

    // 在构造函数内部的this上进行定义实例属性

    this.sayIn = function() {

    console.log('my name is ', this.name);

    }

    }

    // 在构造函数上定义静态方法

    Person.eat = function(){console.log('i can eat anything')};

    // 在构造函数的原型对象上定义原型方法

    Person.prototype.run = function(){console.log('i can run 100m in 9.88s')}

    let person = new Person('li');

    // 在构造函数生成的实例上定义实例方法

    person.sayOut = function(){

    console.log('my name is out ', this.name);

    }

    // 访问实例方法sayIn

    person.sayIn(); // my name is li

    // 访问实例方法sayOut

    person.sayOut(); // my name is li

    // 访问静态方法eat

    Person.eat(); // i can eat anything

    // 访问原型方法run

    person.run(); // i can run 100m in 9.88s

    // 通过构造函数访问原型方法

    Person.prototype.run() // i can run 100m in 9.8

​
function Person(name){

// 在构造函数内部的this上进行定义实例属性

this.name = name;

}

// 在构造函数上定义静态属性

Person.sex = 'male';

// 在构造函数的原型对象上定义原型属性

Person.prototype.weight = 20

let person = new Person('wang');

// 在构造函数实例化以后的对象上进行定义实例属性

person.age = 23;



// 访问实例属性name

console.log(person.name) // wang

// 访问实例属性age

console.log(person.age) // 23

// 访问静态属性sex

console.log(Person.sex) // male

// 访问原型属性weight

console.log(person.weight) // 20

// 通过构造函数访问原型属性weight

console.log(Person.prototype.weight); // 20

​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值