JavaScript基础语法3

如果你想成为一名优秀的java架构师,看这里 → 乐字节免费公开课(腾讯课堂)

如需要跟多资料请点击右侧(记住入群暗号:66) → 这是一条不归路,有秃头风险,请慎重选择!

类型转换

自动类型转换

函数转换(String to Number)

JS 提供了 parseInt()parseFloat()两个全局转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对 String 类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是 NaN(Not a Number)。

parseInt()

在转换之前,首先会分析该字符串,判断位置为0处的字符,判断它是否是个有效数字,如果不是,则直接返回NaN,不再继续,如果是则继续,直到找到非字符

 parseInt("1234blue"); // returns 1234 parseInt("22.5"); // returns 22 parseInt("blue"); // returns NaN
parseFloat()

该方法与 parseInt() 方法的处理方式相似,从位置 0 开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的,parseFloat()方法会把这个小数点之前的字符串转换成数字。

parseFloat("1234blue"); // returns 1234.0parseFloat("22.5"); // returns 22.5parseFloat("22.34.5"); // returns 22.34parseFloat("blue"); //returns NaN

显示转换

几乎每个数对象都提供了toString()函数将内容转换为字符串形式,其中Number提供的toString()函数可以将数字转换为字符串。

Number还提供了toFixed()函数将根据小数点后指定位数将数字转为字符串,四舍五入

// 将内容转换为字符串形式var data = 10console.log(data.toString())// 根据小数点后指定位数将数字转为字符串,四舍五入data = 1.4;console.log(data.toFixed(0));data = 1.49;console.log(data.toFixed(1));            // 不能对null和undefined使用data = nullconsole.log(data.toString())data = undefinedconsole.log(data.toString())

JS 为 Number、Boolean、String 对象提供了构造方法,用于强制转换其他类型的数据。此时操作的是整个数据,而不是部分。

Number(false)            0Number(true)             1Number(undefined)          NaNNumber(null)             0Number( "5.5 ")         5.5Number( "56 ")          56Number( "5.6.7 ")       NaNNumber(new Object())    NaNNumber(100)             100Boolean("");             // false – empty stringBoolean("hi");             // true – non-empty stringBoolean(100);             // true – non-zero numberBoolean(null);             // false - nullBoolean(0);             // false - zeroBoolean(new Object());     // true – object

最后一种强制类型转换方法 String() 是最简单的,因为它可把任何值转换成字符串。要执行这种强制类型转换,只需要调用作为参数传递进来的值的 toString() 方法,即把 1 转换成"1 ",把 true转换成 "true ",把 false 转换成 "false ",依此类推。强制转换成字符串和调用 toString() 方法的唯一不同之处在于,对 null 或 undefined 值强制类型转换可以生成字符串而不引发错误:

var s1 = String(null); // "null"var oNull = null;var s2 = oNull.toString(); // won’t work, causes anerror

最为简单的一种转换为字符串的方式,直接在任意数据后面 + "" 即可。

运算符

运算符用于执行程序代码运算,会针对一个及其以上操作数来进行运算。

算数运算符

运算符描述例子结果
+x=y+2x=7
-x=y-2x=3
*x=y*2x=10
/x=y/2x=2.5
%求余数x=y%2x=1
++自增(前导加、后导加)x=++yx=6
--自减(前导减、后导减)x=--yx=4

赋值和扩展运算符

运算符例子等价于结果
=x=yx=5
+=x+=yx=x+yx=15
-=x-=yx=x-yx=5
*=x*=yx=x*yx=50
/=x/=yx=x/yx=2
%=x%=yx=x%yx=0

比较运算符

运算符描述例子
==等于x==8 为 false
===全等(值和类型)x===5 为 true;x==="5" 为 false
!=不等于x!=8 为 true
>大于x>8 为 false
<小于x<8 为 true
>=大于或等于x>=8 为 false
<=小于或等于x<=8 为 true

逻辑运算符

运算符描述例子
&&and(x < 10 && y > 1) 为 true
\\or(x==5 \\y==5) 为 false
!not!(x==y) 为 true

三目运算符

运算符描述例子
!not!(x==y) 为 true

三目运算符

运算符描述例子
?:如果…否则…3>5?3:5