JavaScript 学习(二)
强制类型转换
(将一个数据类型强制转换为另一个数据类型)
在 JS 中如果需要写 16 进制的数字,需要以 0x 开头。8 进制数字,需要以 0 开头。2 进制数字需要用 0b 开头
string 类型强转
方式一:调用被转换类型的 toString()方法
----被转换类型.toString()
该方法不会影响到原变量,它会将转换的结果返回。
但是 null 和 undefined 不能调用 toString 方法。
方式二:调用 string()函数
-----直接写 string();
将被转换数据作为参数传递给函数,可以转换 null 和 undefined。
number 类型强转
方式三:调用 Number 函数。
字符串转数值如果是纯数字将直接转换,如果非数字内容则转换为 NaN,空字符串将转换为 0。
布尔值转数值:false-->0 true-->1
空值转数值:null-->0
未定义转数值:NaN
方式四:调用 parseInt() 把一个字符串转换成一个整数。 parseFloat()把字符串转换成一个浮点数。
parseInt()可以将字符串中有效的整数内容取出来。
如果对非 string 使用,会将其先转换为 string。
Boolean 类型强转
方式五:调用 Boolean()函数。
数字转换为 Boolean,除了 0 和 NaN 是 false,其余都是 true。
字符串转换为 Boolean,除了空串,其余都是 true。
null 和 undefined 都会转换为 false。
运算符(操作符)
通过操作符可以对一个值或者多个值进行运算。
算术运算符:+ - * / %
当对非 number 类型的值进行运算时,将会把值转换成 number 进行运算。
如果对两个字符串进行加法运算,会把两个字符串拼接成一个字符串并返回。
任何值和字符串进行加法操作,都会把值转换成字符串之后进行拼串操作。
任何值进行减法,乘法,除法操作,都可以转换成 number。
%取模运算,除法取余运算。
一元运算符:只需要一个操作数
+ 正号:正号不会对我们的数值产生任何影响
- 负号:负号可以对数值进行负号取反
正负号都可以将数值类型转换成 number,原理和 number()函数一样。
自增和自减
自增:可以使变量在自身的基础上+1
运算符:++
自增分为 2 种,a++和++a 对于原变量来说是没有区别的,都会使原变量的值+1
不同的是 a++和++a 的值不同:a++的值等于自增前的值,++a 的值等于自增后的值
自减:可以使变量在自身的基础上-1
运算符:--
逻辑运算符
!非 :可以用来对一个值进行非运算----------为任意数值进行两次非运算,可以转化为布尔值
&&与 :可以对符号两边的值进行与运算并返回结果---两个值中只要有一个为 false 就返回 false
||或 :可以对符号两边的值进行或运算并返回结果---两个值中只要有一个为 true 就返回 true
赋值运算符
=等于:可以将右侧数值赋值给左侧的变量
+=:a=a+5 可以转变为 a += 5
-=:a=a-5 等价于 a -= 5
*=:a=a*5 等价于 a *= 5
/=:a=a/5 等价于 a /= 5
%=:a=a%5 等价于 a %= 5
关系运算符
通过关系运算符可以比较两个值之间的关系。
如果关系成立将会返回 true,如果关系不成立将会返回 false。
>大于号 <小于号 >=大于等于 <=小于等于
非数值比较时会将其转化为数值再进行比较
任何值和 NaN 做任何比较都返回 false。
如果符号两侧的值都是字符串,它不会将其转换成数字进行比较,会分别比较字符串中字符的 Unicode 编码大小。
比较字符编码时是一个一个进行比较的,如果两位一样则比较下一位。
相等运算符
运算符:==
用来比较两个值是否相等,如果相等返回 true,不相等返回 false
当使用==来比较时,如果值的类型不同,则会自动进行转化成相同类型,然后再比较。
undefined 衍生自 null,两者做==判断将会返回 true。
条件运算符(三元运算符)
语法:条件表达式?语句 1:语句 2
执行流程:首先对条件表达式进行求值,如果返回 true,则执行语句 1;如果返回 false,则执行语句 2
Unicode 编码:
输出编码:console.log(" \u 四位编码 ");
在网页中输入 Unicode 编码:&#编码,这里的编码需要转化为 10 进制的
版权声明: 本文为 InfoQ 作者【空城机】的原创文章。
原文链接:【http://xie.infoq.cn/article/6a5b816d069d13aa4f6b54dfb】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论