JSES5和字符串

225 阅读3分钟

严格模式

  JS的作用域和隐式声明变量会造成较多的错误,用来严格规范代码的书写从而让代码运行更流畅、提高运行效率,用use strict来在代码中实现此规范,需要放在代码前面,在script标签中的第一行或者某个函数中的第一行,否者无效,严格模式只能规范当前script中的代码严格模式不允许隐式声明变量,也禁止函数中形参重名和this代表window。

字符串

字符串的长度是字符串中字符的个数 书写:字符串.length
用var str = ''
  var str =""
  来定义

  想要在字符串中获取某一个字符时,可以通过获取其下标,同时字符串也可以进行遍历。字符串是只读数据,只能读,不能增删改,但能进行比较

var str = "abcdef";
var s = str[1]获取b的下标
console.log(s) // 'b'
var s1 = str[0] 
console.log(s1) // 'a'

var str = "abcdef";
for(var i=0;i<str.length;i++){
  console.log(str[i],i)
}
字符串比较的规则是逐字符进行比较,大小由阿斯克码来决定
console.log('12'>'5') // false
console.log('12'<'5') // true

阿斯克码

  计算机内部只能识别2进制数据,不能识别字母等字符。为了能让计算机识别字符,科学家制定了一个对照表,当输入一段2进制指令的时候,就能显示成某个字符。这个对照表叫做阿斯克码表,其中包含了128个常用字符跟2进制的对照关系. 其规律是字母比数字大、小写字母比大写字母大、字母越靠后越大。 0-9的阿斯克码为 48-57 A-Z阿斯克码为 65-90 a-z阿斯克码为 97-122

字符串方法

harCodeAt - 是根据指定的下标获取对应字符的阿斯克码
例:定一个变量
var str = '1234'
获取下标为2的字符的阿斯克码
var a = str.charCodeAt(2)
console.log(a)阿斯克码为50

String.fromCharCode - 是根据指定的阿斯克码得到对应的字符

var a = String.fromCharCode(68)   
congsole.log(a)对应字符为D

indexOf - 查找字符串或者字符串在大字符串中第一次出现的位置

var a = 'abcd'
var b = a.indexOf('c')
console.log(b)位置为3

lastindexOf - 查找字符在字符串最后一次出现的下标

var a = 'abcdc'
var b = a.indexOf('c')
console.log(b)最后位置为4

slice - 截取字符串

var a = 'abcdf'
var b = a.slice(2,5)
console.log(b)

split - 将字符串使用指定的分隔符分割为数组

var str = 'a-b-c-d';
var arr = str.split('-') // 参数为分隔符,使用-将字符串分割为一个数组
console.log(arr) // ['a','b','c','d']

replace - 使用新字符串将字符串中某一部分替换掉

str = str.replace('','某某') // 参数1为空,就会将新内容添加到原字符串的最前面
console.log(str) // '某某你的眉毛还好吗?'

trim - 去除字符串两端空白

var str = '    555         ';
str = str.trim()
console.log(str) // '555' - 左右两端的空白被去掉了

str = str.trimLeft() // 去除左边的空白
console.log(str) // 'aaa          '

toUpperCase - 将字符串中字母转为大写

var str = 'i love you';
str = str.toUpperCase()
console.log(str) // 'I LOVE YOU'

toLowerCase - 将字符串中字母转为小写

var str = 'I LOVE YOU';
str = str.toLowerCase()
console.log(str) // 'i love you'

substr - 截取字符串

var str = 'abcdef';
str = str.substr(1,3) // 参数1是开始截取的下标,参数2是截取的字符串长度
console.log(str) // bcd

str = str.substr(1) // 省略参数2默认截取到字符串末尾
console.log(str) // bcdef

str = str.substr(-4,2) // 开始截取的下标可以用负数表示
console.log(str) // 'cd'

str = str.substr(1,20) // 长度超出最大下标,就相当于省略了参数2
console.log(str) // cdef

substring - 截取字符串

var str = 'abcdef'
str = str.substring(1,4) // 参数1是开始截取的下标,参数2是结束下标
console.log(str) // bcd - 结果不包含结束下标对应的字符

startsWith - 判断字符串是否以某个字符或小字符串开头

var str = 'abcdef'
var bool1 = str.startsWith('a') // true
var bool2 = str.startsWith('ab') // true
var bool3 = str.startsWith('aa') // false

endsWith - 判断字符串是否以某个字符或小字符串结尾

var str = 'abcdef'
var bool1 = str.endsWith ('f') // true
var bool2 = str.endsWith ('ef') // true
var bool3 = str.endsWith ('ff') // fals

includes - 判断字符串中是否包含某个字符

var str = 'abcdef'
var bool1 = str.endsWith ('cd') // true
var bool2 = str.endsWith ('f') // true
var bool3 = str.endsWith ('acd') // false