zoukankan      html  css  js  c++  java
  • instanceof 和 构造函数

    1. intanceof 运算符

      instanceof 运算符返回一个布尔值,表示指定对象是否为某个构造函数的实例

      

      instanceof左边是实例对象 右边是构造函数。它的运算实质是检查右边构建函数的原型对象,是否在左边对象的原型链上。因此,下面两种写法是等价的。

      Vehicle.prototype.isPrototypeOf(v);   

      instanceof的原理是检查原型链,对于那些不存在原型链的对象,就无法判断。

      Object.create(null) instanceof Object // false
     上面这种继承null的特殊情况,JavaScript之中,只要是对象,就有对应的构造函数。因此,instanceof运算符的一个用处,是判断值的类型
      
      
    instanceof运算符只能用于对象,不适用原始类型的值
      

    2. delete 操作符

      delete命令用于删除对象的属性,删除成功后返回true。

      

      delete命令删除o对象的p属性。删除后,再读取p属性就会返回undefined,而且Object.keys方法的返回值中,o对象也不再包括该属性。注意,删除一个不存在的属性,delete不报错,而且返回true

      delete命令只能删除对象本身的属性,无法删除继承的属性。

      var o = {};

      delete o.toString; //true

      o.toString;  //function toString() { [native code] }

    delete命令不能删除var命令声明的变量,只能用来删除属性.

    var p = 1;
    delete p // false
    delete window.p // false
  • 相关阅读:
    有关Angular 2.0的一切
    后Angular时代二三事
    构建单页Web应用
    用JS渲染的单页面应用其实性能还是比较差的
    给一位打算从事前端,但是又有疑惑的在校大学生的回信
    企业文化与价值观 — 给新员工的一封信
    老码农的技术理想
    (OK) install vmware12 in fedora23
    ECMAScript——wikipedia
    《ECMAScript 6入门》——JavaScript
  • 原文地址:https://www.cnblogs.com/syomm/p/5938966.html
Copyright © 2011-2022 走看看