JavaScript 基础语法易混淆点:==与===、布尔转换及数值解析

作者:百宝袋时间:2026-10-26 18:53:48浏览:340

本文总结JavaScript基础语法中易混淆的三个关键点:一是==与===在类型转换上的差异,二是!!运算符对非零数值的布尔化处理逻辑,三是parseInt与parseFloat在解析字符串数值时的行为区别,包括对小数点和前导零的处理规则。

代码示例如下:

 
/* 
==与===运算符的类型转换差异JavaScript基础语法中,存在几个容易引发困惑的知识点。
*/ 
/* 
== 
=== 
*/ 
function de() {
var ab = 25; //数值类型
var ba = "25"; //字符串类型
if (ab == ba) { //==运算符会先进行类型转换,再进行比较。
//alert("b");
} 
if (!(ab === ba)) { //===运算符不进行类型转换,直接比较值与类型,ab为数值,ba为字符串
//alert("a");
} 
} 
/* 
!b
!!b
*/ 
布尔值转换与!!运算符逻辑function dd() {
var b= 1;
if (!!b) { //!b时,非0数值转为true后取反得false;!!b时,先转为布尔值再取反,还原为原始真值。
//alert("a");
} 
} 
/* 
parseInt parseFloat
*/ 
parseInt与parseFloat数值解析区别function parse() {
var a = "18px";
var b = parseInt(a); //返回数值18
var c = parseInt(a, 10); //返回数值18,可指定进制参数
//alert(b);
alert(c);
var e = "18.2px";
var d = parseFloat(e);
alert(d)
/* 
parseInt与parseFloat的区别在于,parseFloat转换时保留第一个小数点后的数字,但忽略后续的小数点。
parseFloat还会忽略字符串开头的0。
*/ 
} 
window.onload = function () {
parse();
dd();
de();
} 
作者最新文章