OOP编程

oop编程语言有一个标志,就是它们都有类的概念。
Js中对象定义为”无序属性的集合”,其属性可以包含基本值、对象或者函数
因此Js对象可以被想象成散列表:无非就是一组名值对,其中值可以是数据或函数。
组合使用构造函数和原型模式,是目前Js使用最广泛、认同度最高的一种创建自定义类型的方法
构造函数模式(浪费内存)

instanceOf      测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性
(用法:object instanceof constructor)

原型链模式

isPrototypeOf           测试一个对象是否存在于另一个对象的原型链上
(Object.prototype.isPrototypeOf())
hasOwnProperty          判断某个对象是否含有指定的属性(object.hasOwnProperty(prop))
in                      判断指定的属性是否存在于指定的对象中
(prop in object)
举例说明:
function Person(){}
Person.prototype.name = 'a';
Person.prototype.age = 20;
Person.prototype.sayName = function(){ return this.name};

var person1 = new Person();
var person2 = new Person();
----------
//isPrototypeOf
console.log(Person.prototype.isPrototypeOf(person1));//true
----------


//hasOwnProperty
console.log(person1.hasOwnProperty('name'));//false
person1.name = "bbbb";
console.log(person1.hasOwnProperty('name'));//true
----------


//in
console.log("name" in person1);//true
console.log("name" in person2);//false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值