2020-12-06

web前端学习总结3:JS中的constructor浅谈及其用途

  1. 每个对象/函数天生都有一个属于自己的constructor构造器,这个constructor可以反映出某个对象 / 函数具体属于哪一个JavaScript对象中的高级对象String,Array,Date,Object,Number,Boolean,Math对象的哪一个类型(Math对象比较特殊,它没有自己的constructor构造器,直接调用其中封装好的方法比如Math.MAX(数字参数)就行;使用它的方法时不用像Date对象那样先new一个实例出来才能继续使用Date的方法);
  2. 于是,我们可以**借助于此来实现某个数据是属于什么类型,**特别是结合JavaScript中的原型prototype来添加自定义函数 / 功能 以及 属性,当需要使用时让数据变量来操作这个添加好的方法就可以。

3. 试验案例图:

(1)Math对象:
| 在这里插入图片描述
|在这里插入图片描述

(2)Array数组对象:
|-在这里插入图片描述
-|在这里插入图片描述
在这里插入图片描述
(3) 函数function:
在这里插入图片描述

(4)总结:综合以上案例,我觉得又进一步丰富并扩展了我们在检测数据类型方面的方法与技能,比如要验证一个数据是否为数组Array类型,一般有以下方法:

let arr1 = [];
let str1 = "let's go";
// 让字符串str1通过split方法转为数组,当然转换后要进行判断数据是否合适
let arr2 = str1.split();
if(arr2 instanceof Array || Array.isArray(arr2) || arr2.constructor === Array) {
	arr1 = arr2; // 通过条件检验为数组Array后,就能进行下一步的数组运算操作了
	alert("我是一个数组。");
}
else {
	alert("不是一个数组,不给通过。");
}
① 上面的案例就是扩展了一个判断数组的方法:[].constructor === Array这样的写法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值