javascript中让你迷惑的知识点集合

此文章主要是记录javascript中那些难以理解、迷惑、怪癖和易忽略的知识点。方便以后整理和学习。

typeof篇

  • typeof null返回的结果是object。
  • typeof Function返回的结果是function,不是object。

Undefined篇

  • var message; alert(message); alert(age)声明未初始化的变量会被赋值undefined,没有声明而直接引用,将导致脚本错误。
  • 对未初始化的变量执行typeof操作将返回undefined值,而对未声明的变量执行typeof操作同样返回undefined值。

Null篇

  • null表示空对象的引用,所以typeof null返回的值是object。
  • 由于undefined派生于null,因此执行undefined == null是成立的。

Boolean篇

  • 转型函数Boolean()可以将一个变量转换成布尔值,但是!!变量名可以更快的获取布尔值。

Number篇

  • 判断一个数值是否是正负无穷,可以通过isFinite()函数判断。
  • NaN表示非数值,NaN与任何值都不相等,包括NaN本身。例如alert(NaN == NaN)将返回false。
  • 可以通过isNaN()函数来判断一个变量是否“不是数值”。

String篇

  • EcMAScript中的字符串是不可变的,字符串一旦创建,他们的值就不能改变。要改变某个变量的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充。
  • 数值、布尔值、对象和字符串都有toString方法,但是null和undefined没有这个方法。
  • String()能够将任何类型的值转换为字符串,包括null和undefined。

操作符篇

  • 逻辑非操作符可以将一个值转换为与其对应的布尔值,而同时使用两个逻辑非操作符,实际上就会模拟Boolean()转型函数的行为。

arguments篇

  • arguments与数组类似,但是它却是一个对象的引用。
  • arguments.callee用来引用当前的函数,用于处理递归非常使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值