JS学习-数据类型判断

JavaScript原始类型

有五种:undefined,null boolean string number object(对象类型)

隐式转换

  1. ==号会进行隐式转换
    • 类型不同的转换:object == number|string尝试对象转为基本类型
  2. 严格等于===,会先判断两边的类型
    • 一般来说new object === new object返回false

包装对象

当你对字符串使用string.length时候,js会临时创建一个包装对象,内部的值和string一样,在使用完毕后会销毁。说以对数组,num使用toString的过程也和上述过程类似

类型检测

  1. typeof(用于基本类型) 遇到null失效,可以使用严格===判断null
    但是对数组
  2. 用instanceof(判断数组和对象)
    1. 查询原型链中是否含有右边的类型
    2. 在不同的window或者iframe之间,不能使用instanceof。
  3. 使用Object.prototype.toString也可以判断

数据类型判断习题

请在index.html文件中,编写arraysSimilar函数,实现判断传入的两个数组是否相似。具体需求:

  1. 数组中的成员类型相同,顺序可以不同。例如[1, true] 与 [false, 2]是相似的。

  2. 数组的长度一致。

  3. 类型的判断范围,需要区分:String, Boolean, Number, undefined, null, 函数,日期, window.

当以上全部满足,则返回"判定结果:通过",否则返回"判定结果:不通过"。

题目解析

  1. 首先看两者长度是否一致
  2. 看两者是否为数组
  3. 方法:通过instanceof判断 date,window,array类型,通过typeof判断原始数据类型
  4. 使用空对象将类型的数量保存起来
  5. 通过对面对量内类型数量,来确定是否相似

解法(暂时未写)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值