ES6的数据类型
JS中一共有六种数据类型,其中包括五种基本数据类型(Number,String,Boolean,Undefined,Null)以及一种复杂数据类型(Object)
typeof 123 //Number
typeof ‘abc’ //String
typeof true //Boolean
typeof undefined //Undefined
typeof null //Object
typeof { } //Object
typeof [ ] //Object
typeof console.log() //Function
~~~~~~~~~~
几年过去了,又多了几种类型(Symbol,BigInt)
let aaa = Symbol()
typeof aaa // ‘symbol’
let bbb = BigInt(11111)
typeof bbb // ‘bigint’
Number
(1)toString
用法:a = 1234 a.toString(2/8/16) //默认十进制
(2)toLocaleString
用法:
可以拿来作为千分制数字的快速划分
a=456789023
a.toLocaleString()
output:"456,789,023"
平时利用正则表达式写千分制:
format_number(n){
var b=parseInt(n).toString();
var len=b.length;
if(len<=3){return b;}
var r=len%3;
return r>0?b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(","):b.slice(r,len).match(/\d{3}/g).join(",");
},
(3)toFixed
将数字四舍五入为指定小数位数的数字,括号内不写数字默认输出整数
a = 1.234653
a.toFixed(3)
"1.235"
(4)toExponential
将数字换为指数计数法
a = 12345000
a.toExponential()
"1.2345e+7"
a = 12345000
a.toExponential(3) //括号内代表小数点留几位
"1.235e+7"
(5)toPrecision
用法类似上面,对象的值超出指定位数时将其转换为指数计数法
a = 12385000
a.toPrecision(3)
"1.24e+7"
String
(1)charAt
返回指定位置的字符
str = "abcdefg"
str.charAt(3) //括号内是索引,必填,从0开始
"d"
(2)concat
将两个或多个字符串连接起来
"aa".concat("bb","cc")
"aabbcc"
(3)indexOf
返回某个指定的字符串值在字符串中首次出现的位置,对大小写是敏感的
"aabbcc".indexOf("BB") //-1代表什么都没有,对大小写不敏感
-1
"aabbcc".indexOf("bb")
2
"aabbcc".indexOf("bb", 3) //从第四个位置开始搜
-1
(4)lastIndexOf
返回指定字符串最后一次出现的位置,与indexOf一前一后
"aaabbcccc".lastIndexOf("cc")
7
"aaabbcccc".indexOf("cc")
5
(5)localeCompare
用本地特定的顺序来比较两个字符串。
说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
"bb".localeCompare("bb")
0
"bb".localeCompare("bbcc")
-1
"ccbb".localeCompare("bbcc")
1
(6)match
(7)replace
(8)search
这仨在正则表达式的时候再详细说
(9)slice
提取字符串的某个部分,并以新的字符串返回被提取的部分
"aaccbbxx".slice(1,5)
"accb"
"aaccbbxx".slice(1,-5) //负号代表从最后往前
"ac"
(10)split
把一个字符串分割成字符串数组
"aa cc bb xx".split(" ",3)
(3) ["aa", "cc", "bb"]
"aa cc bb xx".split(" ")
(4) ["aa", "cc", "bb", "xx"]
(11)substr
在字符串中抽取从 start 下标开始的指定数目的字符
"aaccbbxx".substr(1,5) //从下标1开始取5个字符
"accbb"
(12)substring
用于提取字符串中介于两个指定下标之间的字符
"aaccbbxx".substring(1,5) //与楼上对比,后面那个是结尾下标,而不是数目
"accb"
Boolean
这个过~~