String字符串数据类型
凡是用双引号"" 单引号’’ 反引号`` 包起来的都是字符串
例:var arr=[10,20]; 数组
var str="[10,20]"; 字符串
一个字符串是由零到多个字符组成的,每个字符都有一个自己的位置“索引”,有一个length存储字符串的长度
在字符串中每一个字符都有一个代表自己位置的“索引”(数字),是从零开始的,逐级递增
把其他数据类型转换为字符串数据类型
[value].toString() 或者 String([value])
基本上都是用双引号或单引号包起来
数组对象[]转换为字符串,是把数组中的每一项,用逗号分割
对于普通对象{}来讲,转换为字符串的时候,无论对象中包含哪些信息,结果都是“[object,Object]”
.
JS中的数学运算符
“-” “*” "/"只有常数运算功能
“%” 取余数 读为“模mo二声”
17%2 1 17/2,余数是1
"+"号,在JS中比较特殊,除了常规的数学运算,有时候属于字符串拼接。
"+"加号的字符串拼接
"+"号的左右两边,有一边出现字符串,结果就是字符串拼接
"+"号的左右两边,有一边出现对象(目的是把对象转换为数字,进行数学运算)
首先会获取对象的[Symbol.toPrimitive]然后valueOf()
如果以上两个都没有获取原始值,则.toString(),把对象转换为字符串
此时"+"号的左右两边,有一边出现字符串,此时不再是数学运算,变成了字符串拼接
反引号`` ES6新增的模板字符串,有助于字符串的拼接
${},里面存放的是JS表达式
所谓“JS表达式”:执行代码可以有返回结果的,例如变量、三元运算符……
“a”+“b”=“ab” 字符串拼接
例:x=10;y=20; 需求:实现x+y=30,10+20=30
var str=“x+y=x+y” 这样写的话,每一项都是字符串中的一个字符,这样写是不对的
解法一:var x=10;
var y=20;
str=x+"+"+y+"="+(x+y) 前面的+是数学运算的加号,引号里的加号,是字符串
解法二:var x=10;
var y=20;
str=""+x+"+"+y+"="+(x+y)+""
解法三 模块字符串诞生(ES6)
var x=10;
var y=20;
str=`${x}+${y}=${x+y}`
刚才用反引号包裹时,字体格式改变,所以只能用代码码来表示了
刚才输入双引号时的样式${x}+${y}=${x+y}
,这是文档样式决定的,希望大家能看懂~
字符串有很多自己能够调用的方法
charAt
charCodeAt
substr
substring
slice
split
replace
index0f / lastIndexOf
includes
trim
……
关于字符串的方法,以后会慢慢给大家讲
明天讲布尔及其他基本类型