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属性。

  • 相关阅读:
    第13章 TCP/IP和网络编程
    实验二测试
    实验四 Web服务器1socket编程
    thread同步测试
    团队作业(五):冲刺总结——第四天
    111
    递归和数学归纳法
    Nodejs中cluster模块的多进程共享数据问题
    JavaScript写类方式(一)——工厂方式
    JavaScript中的shift()和pop()函数
  • 原文地址:https://www.cnblogs.com/ming-os9/p/8961991.html
Copyright © 2011-2022 走看看