目录
Number():使用number函数可以将任何类型转换为数值
String():使用string函数可以将任意类型强制转换为字符串类型
字符串
- 双单引号交替使用(单引号内用双引号,双引号里用单引号)
- 在字符串内部使用引号应该在前面加上反斜杠进行转义
- 字符串默认只能写在一行,多行会报错
- 在javascript里一般多使用双引号(风格特点)
- 使用连接运算符(+)对字符串进行连接,将长字符串拆成多行书写,最终输出是单行
var longString = 'Long '
+ 'long '
+ 'long '
+ 'string';
//Long long long string
转义
反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
需要用反斜杠转义的特殊字符,主要有下面这些。
\0
:null(\u0000
)
\b
:后退键(\u0008
)
\f
:换页符(\u000C
)
\n
:换行符(\u000A
)
\r
:回车键(\u000D
)
\t
:制表符(\u0009
)
\v
:垂直制表符(\u000B
)
\'
:单引号(\u0027
)
\"
:双引号(\u0022
)
\\
:反斜杠(\u005C
)上面这些字符前面加上反斜杠,都表示特殊含义。
如果字符串的正常内容之中,需要包含反斜杠,则反斜杠前面需要再加一个反斜杠,用来对自身转义。
字符串与数组
字符串可以被看作字符数组,可以使用数组的方括号运算符,用来返回某个位置的字符
如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回
undefined
。无法改变字符串中的单个字符
length 属性
length
属性返回字符串的长度,该属性也是无法改变的。
强制转换
Number():使用number函数可以将任何类型转换为数值
其它类型转化为数字类型:
// 数值:转换后还是原来的值
Number(324) // 324// 字符串:如果可以被解析为数值,则转换为相应的数值
Number('324') // 324// 字符串:如果不可以被解析为数值,返回 NaN
Number('324abc') // NaN// 空字符串转为0
Number('') // 0// 布尔值:true 转成 1,false 转成 0
Number(true) // 1
Number(false) // 0// undefined:转成 NaN
Number(undefined) // NaN// null:转成0
Number(null) // 0
Number
函数将字符串转为数值,要比parseInt
函数严格很多 ,只要有一个字符无法转成数值,整个字符串就会被转为NaN
。
parseInt('42 cats') // 42
Number('42 cats') // NaN
String():使用string函数可以将任意类型强制转换为字符串类型
数值:转为相应的字符串。
字符串:转换后还是原来的值。
布尔值:
true
转为字符串"true"
,false
转为字符串"false"
。undefined:转为字符串
"undefined"
。null:转为字符串
"null"
。String(123) // "123" String('abc') // "abc" String(true) // "true" String(undefined) // "undefined" String(null) // "null"
变量名.toString()
Boolean()
Boolean()
函数可以将任意类型的值转为布尔值。
它的转换规则相对简单:除了以下五个值的转换结果为false
,其他的值全部为true
。
-
undefined
-
null
-
0
(包含-0
和+0
) -
NaN
-
''
(空字符串)
Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // false
自动转换
以强制转换为基础,JavaScript 会自动转换数据类型,即转换是自动完成的,用户不可见。
1.不同类型的数据互相运算。
2.对非布尔值类型的数据求布尔值。
3.对非数值类型的值使用一元运算符(即+
和-
)。
用+前面一个是字符串时后面都会变成字符串的拼接
用-会自动转化为数值(无法识别则结果为NaN)
123 + 'abc' // "123abc"
if ('abc') {
console.log('hello')
} // "hello"
+ {foo: 'bar'} // NaN
- [1, 2, 3] // NaN
其它类型转化为数字类型
- parseInt 转化为整数 (向下取整)
- parseFloat 转化为浮点数
算术运算符:
javaScript提供了10个算术运算符
1.加法运算符:x + y //允许非数值相加
2.减法运算符:x - y
3.乘法运算符:x * y
4.除法运算符:x / y
5.余数运算符:x % y
取余运算结果的正负值只与x的正负有关
如 : 1%2 =1 -1%2=-1 -1%-2=-1
浮点数取余值精确度不准确
6.自增运算符:++x或x++
7.自减运算符:--x或x--
8.数值运算符:+x
非数值运算符经数值运算符后都会变成数值,作用于number相似(不改变原始值,只是需要用的时候转换)
9.负数值运算符:-x
转化为数值后加负号 多个连续使用满足负负得正原则
10.指数运算符:x ** y //x的y次方
注意:指数运算符是右结合,而不是左结合 例: 2 ** 3 ** 2 == 512 相当于2 ** (3 ** 2)
比较运算符用于比较两个值的大小,然后返回一个布尔值,表示是否满足条件
javascript一共提供了8个比较运算符
1.大于运算符: >
2.小于运算符: <
3.大于等于运算符: >=
4.小于等于运算符: <=
5.相等运算符,比较两个值是否相等: ==
6.严格相等运算符,比较两个值是否为"同一个值": ===
7.不相等运算符: !=
8.严格不相等运算符: !==
(比较的Unicode的大小)
NaN与任何人比较都是false
布尔运算符用于将表达式
1.取反运算符: !
*非布尔值会先转化为布尔值再取反
2.或运算符: ||
3.且运算符: &&
4.三元运算符: ?