你不知道的JavaScript语法

博客介绍了JavaScript中的一些特殊情况,如数字小数点使用时调用方法的语法问题,‘+’可将字符强转数字且加法交换律不完全符合预期,并非所有数据都等于自身,还讲解了‘==’的隐式强制转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 数字中的小数点

42.toFixed(3); // SyntaxError
42..toFixed(3); // “42.000”

42.toFixed(3)是无效语法,因为点号【.】被视为数字常量【42.】的一部分,所以没有【.】属性访问运算符来调用toFixed方法;


2. + 可以字符强转数字

var c = '3.14';
var d = 5+ +c; // 8.14

3. + 加法交换律并不完全符合预期

var a = [] + {}; // "[object Object]"
var b = {} + []; // 0

4. 并不是所有的数据都等于他本身

 

var num = NaN;
num === num; // false

5. 关于 == 的隐式强制转换

var isTure = '42';
if(isTrue) {
  console.log('isTrue'); // 打印:'isTrue'
}
console.log("isTrue:", isTrue == true); // 打印:isTrue: false

’42‘ == true 的 过程是:’42‘ == 1  => 42 == 1 ,所以结果是:false;而判断里面的是进行ToBoolean()类型转换。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值