javascript的constructor属性

/* constructor 属性 constructor 属性返回所有 JavaScript 变量的构造函数。 */console.log("John".constructor);                 // 返回函数 String()  { [native code] }console.log((3.14).constructor);                  // 返回函数 Number()  { [native code] }console.log(false.constructor);                   // 返回函数 Boolean() { [native code] }console.log([1,2,3,4].constructor);               // 返回函数 Array()   { [native code] }console.log({name:‘John‘, age:34}.constructor);   // 返回函数 Object()  { [native code] }console.log(new Date().constructor);              // 返回函数 Date()    { [native code] }console.log(function () {}.constructor);         // 返回函数 Function(){ [native code] }

/* 因为typeof Date, 和typeof Array返回的都是object,所以分辨不出来到底是Date还是Array,可以使用constructor判断 */

/*你可以使用 constructor 属性来查看是对象是否为数组 (包含字符串 "Array"): */function isArray(myArray) {    return myArray.constructor.toString().indexOf("Array") > -1;}

/*你可以使用 constructor 属性来查看是对象是否为日期 (包含字符串 "Date"): */

function isDate(myDate) {    return myDate.constructor.toString().indexOf("Date") > -1;}
时间: 2024-10-10 14:42:34

javascript的constructor属性的相关文章

javascript对象constructor属性

概述 返回一个指向创建了该对象原型的函数引用.需要注意的是,该属性的值是那个函数本身,而不是一个包含函数名称的字符串.对于原始值(如1,true 或 "test"),该属性为只读. 描述 所有对象都会从它的原型上继承一个 constructor 属性: var o = new Object // 或者 o = {} o.constructor == Object var a = new Array // 或者 a = [] a.constructor == Array var n =

javascript Array对象的constructor属性

定义和用法 constructor 属性返回对创建此对象的数组函数的引用. 语法 object.constructor 例子: <script type="text/javascript"> var test=new Array(); if (test.constructor==Array) { document.write("This is an Array"); } if (test.constructor==Boolean) { document.

JavaScript对象中的constructor属性

constructor属性始终指向创建当前对象的构造函数. 比如下面的例子: 1 // 等价于 var foo = new Array(1, 56, 34, 12); 2 var arr = [1, 56, 34, 12]; 3 console.log(arr.constructor === Array); // true 4 // 等价于 var foo = new Function(); 5 var Foo = function() { }; 6 console.log(Foo.constr

JavaScript类型检测, typeof操作符与constructor属性的异同

*#type.js function Person(name, age) { this.name = name; this.age = age; } var d = {an: 'object'}; var a = ['apple', 'banana']; var f = function() {}; var s = 'David'; var n = 33; var b = true; var o = new Object(); var person = new Person('Mark', 22

Javascript中prototype属性的详解

原文链接:http://www.cnblogs.com/Uncle-Keith/p/5834289.html 在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不是基于‘类的’,而是通过构造函数(constructor)和原型链(prototype chains)实现的.但是在ES6中提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对

js深入学习-js prototype constructor属性区别

在很多js 插件中出现这两个属性的频率很高,我自己写插件时,也用到过,知道用,不知道具体的区别,今天研究了下, constructor 返回的是对象(类型的实例)的构造函数,通过prototype 添加的属性和方法不会返回. prototype 返回的是类型的原型,不会饭后构造函数部分. 实例如下: <html> <head> <script type="text/javascript">    var cat=function (name,sex)

javascript的constructor简单介绍

javascript的constructor简单介绍:constructor可以返回对象对创建它的构造函数的引用,例如: var arr=[1,2,3]; console.log(arr.constructor===Array); 以上代码中的输出值是true,这说明数组对象arr的constructor属性指向它的构造函数Array.可能上面的代码过于简单了,下面再来一点稍稍复杂的代码分析一下: Object.prototype.webName="蚂蚁部落"; function sh

Javascript中prototype属性

prototype作为JS相对比较难理解的一个知识点,在这里发表下自己的理解. 本文将包含以下几部分内容: 1.js prototype的简单介绍, 2.js构造函数的介绍, 3.prototype的深入理解, 4.constructor. 一.在其他的面向对象语音中,比如Java,存在类(class)的概念,对象就是类的实例.但是再js当中呢,是没有类的概念的,平常时说的加一个class类是指在样式css中加一个类class.js中一切皆对象,所有的东西都是对象(除了null和undefine

JavaScript原生对象属性和方法详解——Array对象 转载

length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" cons