constructor判断数据类型

news/2024/7/19 15:01:04 标签: js

我们可以通过constructor来判断数据的类型,但是除了null、undefined,因为他们不是由对象构建。

数字、布尔值、字符串是包装类对象,所以有constructor

数字
var num = 1;
num.constructor
ƒ Number() { [native code] }

布尔值
true.constructor
ƒ Boolean() { [native code] }

字符串
"".constructor
ƒ String() { [native code] }

函数
var func = function(){}
func.constructor
ƒ Function() { [native code] }

数组
[].constructor
ƒ Array() { [native code] }

对象
var obj = {}
obj.constructor
ƒ Object() { [native code] }

 


http://www.niftyadmin.cn/n/584539.html

相关文章

函数原型;原型链;isPrototypeof判断是不是某个对象的原型

1、构造函数: 【1】构造函数和普通函数的唯一区别,在于调用方式不同。任何函数只要通过new操作符来调用,那就是构造函数;任何函数只要不通过new操作符来调用,那就是普通函数。 【2】任何函数都有prototype属性&#…

内置构造函数的原型prototype

我们需要关注内置构造函数的prototype, 1、三个包装类对象 Number.prototype Number {0, constructor: ƒ, toExponential: ƒ, toFixed: ƒ, toPrecision: ƒ, …}String.prototype String {"", constructor: ƒ, anchor: ƒ, big: ƒ, blink: ƒ, …}…

Function类型(函数)

Function类型 1、函数实际上是对象,函数名是指向函数对象的指针,因此函数名与其他指向该函数的变量没有什么不同。 比如: function func (){console.log("funtion");}var func1 func;func1();console.log(func func1); 结果是…

不建议使用的with和永远不要使用的eval

一、with语句 扩展一个语句的作用域链。 JavaScript查找某个未使用命名空间的变量时,会通过作用域链来查找,作用域链是跟执行代码的context或者包含这个变量的函数有关。with语句将某个对象添加到作用域链的顶部,如果在statement中有某个未使…

闭包closure以及闭包在实际开发中的使用

一、闭包closure 严格来说,闭包需要满足三个条件:【1】访问所在作用域;【2】函数嵌套;【3】在所在作用域外被调用 有些人觉得只满足条件1就可以,所以IIFE是闭包;有些人觉得满足条件1和2才可以,…

ES6函数传参——默认参数和剩余参数

一、默认参数 1、只有在未传递参数,或者参数为 undefined 时,才会使用默认参数,null 值被认为是有效的值传递。 即使显式的传入undefined(虽然不是null或其他falsy值),但是形参的值还是默认值。 2、调用…

JavaScript正则表达式、传递字符串生成正则表达式

正则表达式的两种创建方式 (1)字面量 (2)RegExp构造函数 构造函数内传入字符串, 注意:双\ 代表 \,第二个参数是匹配标志 var reg new RegExp("[a]\\w(\\d)\\1"); console.log(…

js数组常用方法,sort方法,reduce方法

克隆: (1)赋值 索引也指向原地址 (2)浅克隆——js中基本上都是浅克隆,克隆原始值、克隆引用值的索引,使其指向同一个地址。 开辟内容和原地址内容一样的新空间,索引指向新的空间…