美文网首页
原型检测方式

原型检测方式

作者: 恍若如梦hzpeng | 来源:发表于2017-08-31 18:01 被阅读19次
  • isPrototypeOf()

用来判断一个对象是否指向了该构造函数的原型对象,如果是返回true,不是则返回false。
原型对象.isPrototypeOf(实例化对象)

function Box(){};
Box.prototype.name = "小明";
Box.prototype.age = "20";
var b = new Box();
b.name = "jack";
Box.prototype.isPrototypeOf(b);  //返回true
  • hasOwnProperty()

用来判断一个属性是否在实例中,如果在实例中返回true,如果不在返回false。可以和isprototypeOf()一起使用判断属性是否只存在在原型中。
实例对象.hasOwnProperty("属性")

function Box(){};
Box.prototype.name = "小明";
Box.prototype.age = "20";
var b = new Box();
b.name = "jack";
b.hasOwnProperty("name");  //返回true
b.hasOwnProperty("age") ;  //返回false
  • in操作符

用来判断一个属性是否存在(在原型里或实例里),如果存在返回true,如果不存在返回false。
"属性名" in 实例化对象

function Box(){};
Box.prototype.name = "小明";
Box.prototype.age = "20";
var b = new Box();
b.name = "jack";
alert("name" in b);  //true
alert("age" in b); //true
  • delete

删除属性,只能删除实例里面的属性或方法,不能删除原型里的属性或方法
delete b.name

相关文章

  • 原型检测方式

    isPrototypeOf() 用来判断一个对象是否指向了该构造函数的原型对象,如果是返回true,不是则返回fa...

  • JavaScript 原型、原型链与原型继承

    原型,原型链与原型继承 用自己的方式理解原型,原型链和原型继承 javascript——原型与原型链 JavaSc...

  • js 属性检测,原型检测整理备忘

    属性检测 hasOwnProperty : 非原型链,可枚举的属性 in : 原型链、自身属性的所有(包括不可枚举...

  • JS中定义对象的几种方式

    基于已有对象扩充其属性和方法 工厂方式 构造函数方式 原型(“prototype”)方式 动态原型方式 一,基于已...

  • JavaScript3

    instanceof 检测:构造函数的原型处于实例对象的原型链中,即可返回true,否则为false 函数的方法 ...

  • js创建对象

    ->动态原型模式 ->混合的构造函数,原型方式(推荐)

  • JS中的面向对象

    对象 创建对象的方式 使用工厂方式创建对象 使用构造函数创建对象 原型 容易出现的问题 继承 原型继承(基于原型链...

  • js面向对象

    1.js创建对象常用的方式 1.混合的构造函数,原型方式(推荐): 2.工厂方式 3.构造函数方式 4.原型方式 ...

  • js 继承

    4种继承方式 原型式继承给原型对象添加属性原型替换子类的原型对象替换为父类的原型对象 原型链继承 借用构造函数继承...

  • js封装map函数

    原型方式 函数模式

网友评论

      本文标题:原型检测方式

      本文链接:https://www.haomeiwen.com/subject/ndxcjxtx.html