美文网首页
js原始类型 B00lean Number String

js原始类型 B00lean Number String

作者: Viewwei | 来源:发表于2020-10-27 20:01 被阅读0次

原始类型创建会创建相应的引用类型 ,其中包括Boolean Number String
1.Boolean类型
Boolean是布尔值的引用类,Boolean实例会重写valueOf()方法,返回一个true/false,因为new Boolean创建的值为一个对象

let value = new Boolean(true)
let value1 = true
let result = value && value1
consoloe.log(result) // false //vaue类型为对象 value1为一个值

2 Number类型
Number是对应数值的类型,会重写valueOf()方法
Number方法:
1.toString() toLocaleString 返回Number的原始数字,toString(A),其中A代表返回对应的进制

let number = 10;
console.log(number.toString()) //"10"
console.log(number.toString(2)) //"1010"
console.log(number.toString(8)) //"12"
console.log(number.toString(10)) //"10"
console.log(number.toString(16)) //"a"

2 toFixed()方法
toFixed(A),方法接收两个参数,A表示要返回数值包含的小数点数量
3 toExponential()
toExponential(A) 方法返回科学计算法

let number = 10
console.log(number.toExponential(1)) //"1.0e+1"

4 toPrecision()
toPrecision(A)根据时间情况返回相应的数值 A表示返回的长度,可能是科学计算,可能是数值

let number = 99
console.log(number.toPrecision(1)) //"1.0e+2"
console.log(number.toPrecision(2)) //99"
console.log(number.toPrecision(3)) //99.0"

4 isInteger()
isInteger(A) 用于判断一个数值是否保存为整数

console.log(Number.isInteger(1)) //true
console.log(Number.isInteger(1.00)) //true
console.log(Number.isInteger(1.01)) //false

3 String类型
String是字符串对应的引用类型
1.chartAt()
chartAt(A)返回指定索引位置字符,A代表指定位置,A是一个闭区间

let string = "abcde"
console.log(string.chartAt(2)) //c

2 chartCodeAt()
chartCodeAt(A) 返回指定索引位置字符编码,A是一个闭区间

let string = "abcde"
console.log(string.chartCodeAt(2)) //99

3 concat()
contat(A)字符串的拼接 A代表要拼接的字符串,生成一个新的字符串

let stringvalue = "hello "
let result = stringvalue.concat("word")
console.log(result) //hello word

4 slice() substr() substring()
这三个函数都表示字符串提取字符串的方法,这三个方法都接收一个或者两个参数,第一个蚕食表示字符串开始的位置,第一个参数为闭区间,第二个字符串表示结束的位置,第二个参数为开区间。但是对应substr()来说,表示返回子字符串数量,不会修改原始值,都是生成一个新的字符串,

let stringValue = "hello world"
console.log(stringValue.slice(3)) //lo world
console.log(stringValue.substring(3)) //lo world
console.log(stringValue.substr(3)) //lo world

console.log(stringValue.slice(3,7)) //lo w
console.log(stringValue.substring(3,7)) //lo wo //7表示位置
console.log(stringValue.substr(3,7)) //lo worl  //7表示长度

当三个函数为负数的时候,表达的意思是slice(A)其中A为负数的时候,方法讲所有负值参数都当成字符串长度加上负参数值。substr(A)A为负参数的时候,讲第一个负参数值当成字符串长度加上该值,讲第二个参数转成0,substring(A) a为负值参数的时候,把参数全部转成0

let stringValue = "hello world"
console.log(stringValue.slice(-3)) //"rld" //开区间
console.log(stringValue.substring(-3)) //hello world 闭区间
console.log(stringValue.substr(-3)) //rld //开区间

console.log(stringValue.slice(3,-4)) //"lo w"  3 -4都是开区间
console.log(stringValue.substring(3,-4)) //hel
console.log(stringValue.substr(-3)) //"" 空

5字符串位置方法
indexOf(A) lastIndexOf (A) 指定字符串的位置 indexOf("o") 表示从头开始指定字符出现第一次出现的位置,lastIndexOf("o") 表示从尾部开始,最后出现的位子,没有找到,返回-1

let stringvalue = "hello world"
console.log(stringvalue.indexOf("o")) // 4
console.log(stringvalue.lastIndexOf("o")) // 7

6字符串包含方法
startsWith(A,B) endsWith(A,B) includes(A,B) 从字符串中搜索传入的字符串,并返回表示是否包含的布尔值,startsWith()检查开始索引0匹配,endsWith()检查开始索引(string.length-substring.length),includes()检查真个字符串

let message = "foobarbaz"
console.log(message.startsWith("foo")) //true
console.log(message.endsWith("bar")) //true
console.log(message.includes("bar")) //true

startsWith() includes() 接收可选的第二个参数,表示开始索引的位置,endsWith()第二个参数表示字符串的长度就是第二个参数的长度

let message = "foobarbaz"
console.log(message.startsWith("foo",1)) //false
console.log(message.endsWith("bar",4)) //false
console.log(message.includes("bar",6)) //true

7 trim()
trim()方法删除前面和后面的空格
8 repeat()
repeat()表示将字符串复制多少次
9 padStart() padEnd()
padString(0 padEnd() 会复制字符串,如果小于指定长度,则在相应的位置填充字符,直至满足条件

let stringvalue = "foo"
console.log(stringvalue.padStart(6)) // "   foo"
console.log(stringvalue.padStart(9,".")) // "...... foo"

console.log(stringvalue.padEnd(6)) // " foo   "
console.log(stringvalue.padEnd(9,".")) // "foo......"

9 字符串迭代和解析
字符串的原型上暴露了一个@@iinterator方法,表示迭代字符中的每个字符

let message = "abc"
let stringvalue = message[Symbol.iterator]
console.log(stringvalue.next()) // {value:"a",done:false}
console.log(stringvalue.next()) // {value:"b",done:false}
console.log(stringvalue.next()) // {value:"c",done:false}

字符串也可以用for-of访问每个字符

let message = "abc"
for (const c of message) {
  console.log(c)
  //a
 //b
//c
}

有了迭代器之后可以很方便使用解构操作来访问每个字符

let message = "abc"
console.log([...abc]) // ["a","b","c"]

10 字符串大小写转换
toLowerCase() 把字符串转换成小写 toUpperCase()把字符串转成大写
11 字符串模式匹配
String类型专门为字符串实现模式匹配设计方法,match方法和RegExp对象的exec()方法相同。

let text = "cat, bat, sat, fat"
let pattern  =/.at/
let matches = text.mathch(pattern)  // == pattern.exec(text)
console.log(matches.index) // 0
console.log(matches[0])  //"cat"
console.log(mathes.lastIndex) // 0 因为.at没有全局

search()方法查找指定字符串在字符串中的位置,支持RegExp,如果找到了就访问所在的位置,如果没有找到则返回-1

let text = "cat, bat, sat, fat"
let pos = text.search(/at/)
console.log(pos) //1

replace(A,B) 字符串替换操作。A参数可以是一个RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数,如果第一个是字符串,那么只会替换一个。要想替换所有的,需要把第一个参数设置为正则表达式并且带全局标记的(g)

let text = "cat, sat, bat, fat"
let result = text.replace('''at',"ond") 
console.log(result) // "cond, sat, bat, fat"

let text = "cat, sat, bat, fat"
let result = text.replace('/at/g',"ond") 
console.log(result) // "cond, sond, bond, fond"

12 localCompare()
localCompare()方法是比较两个字符串。比较规则:如果按照字母排序,两个字符串字母出现在前面的为true,后面为false 一样为0

let stringvalue = "yellow"
console.log(stringvalue.localCompare('brick')) // 1 b在y前面
console.log(stringvalue.localCompare('yellow')) // 0 一样
console.log(stringvalue.localCompare('zoom')) // -1 z在y后面

相关文章

网友评论

      本文标题:js原始类型 B00lean Number String

      本文链接:https://www.haomeiwen.com/subject/xblzmktx.html