zoukankan      html  css  js  c++  java
  • JS中的constructor 和 prototype

    object.constructor :对象的constructor 属性引用了该对象的构造函数。

    //例如,用Array()构造函数创建了一个数组,那么a.constructor 引用的就是Array:
    a = new Array(1,2,3);//创建一个对象
    a.constructor == Array //true

    constructor 属性常用来判断未知对象的类型。

    1:给了一个未知的值,就可以用typeof运算符来判断它是原始的值还是对象,

    2:如果是对象,就可以用constructor属性来判断对象类型

    //例如,下边的函数用来判断一个给定的值是不是数组
    function isArray(x){
      return ((typeof x =="object") && (x.constructor ==Array));  
    }

    --------------------------------------------constructor 和 prototype 的区别-------------------------------------------------------------------------

    1 function Person(name){
    2   this.name = name;
    3   this.showMe = function(){
    4       alert(this.name);
    5   }    
    6 }
    7 var one = new Person("tommy");
    8 one.showMe();// tommy

    按照javascript的说法,function定义的这个Person就是一个Object,而且还是一个很特殊的对象,这个使用function定义的对象和使用new操作符生成的对象有一个重要区别。

    Function定义的对象有一个prototype属性,使用new生成的对象没有prototype属性。

  • 相关阅读:
    spoj LCS2
    spoj SUBLEX
    spoj NSUBSTR
    bzoj 2882: 工艺【SAM】
    poj 3294 Life Forms【SA+二分】
    poj 3415 Common Substrings【SA+单调栈】
    poj 2774 Long Long Message【SA】
    poj 2406 Power Strings【kmp】
    poj 1743 Musical Theme【二分+SA】
    hdu 3622 Bomb Game【二分+2-SAT+tarjan】
  • 原文地址:https://www.cnblogs.com/ming-os9/p/8961991.html
Copyright © 2011-2022 走看看