ES5
ES5是一个简称,全称:ECMAScript5.0
ES5是开发者公认的兼容性最好的版本
严格模式
为js代码开启一个解析起来比较严格的模式。 'use strict' 可以放在全局的顶部;也可以放在局部的顶部。 放在全局的严格模式,可以约束所有的代码;放在局部的严格模式,只能约束到局部的代码
严格模式对于语法的要求:
1.不允许省略var定义变量
2.不允许1个函数中的形参重名
3.不允许普通函数中的this关键字代表window窗口
严格模式的优点:
1.对语法要求更高,让我们代码更加规范
2.运行的时候效率更高
字符串
字符串是只读数据,只能读,不可以增、删、改
字符串大小
字符串比较的时候,逐字符比较。
console.log('23' > '228');
字母比数字大,小写的比大写的大,排在后面的越大
阿斯克码:英文字母和符号 ===> 二进制 对照表有128个
0-9的阿斯克码 48 ~ 57
A-Z的阿斯克码 65 ~ 90
a - z的阿斯克码 97 ~ 122
字符串方法
charAt:根据下标获取对应的字符
字符串.charAt(下标) - 返回对应的字符
var str = 'abcdef'
console.log( str.charAt(3) );
console.log( str[3] );
charCodeAt:根据下标获取字符对应的阿斯克码
字符串.charCodeAt(下标) - 返回阿斯克码
var str = 'abcdef'
console.log( str.charCodeAt(2) );
String.fromCharCode:将指定的阿斯克码转成字符
String.fromCharCode(阿斯克码) - 返回对应的字符
var code = 120
console.log( String.fromCharCode(code) );
trim:去除字符串两边的空格
字符串.trim() - 返回左右两边没有空格字符串
var str = ' abc '
console.log(str);
console.log( str.trim() );
trimLeft:去除左边空格
console.log( str.trimLeft() );
trimRight:去除右边空格
console.log( str.trimRight() );
toUpperCase:将字符串中字母转成大写
字符串.toUpperCase()
var str = 'i love you'
console.log( str.toUpperCase() );
toLowerCase:将字符串中字母转成小写
var str = 'ABCDEF'
console.log( str.toLowerCase() );
split:根据指定的分隔符将字符串分割成数组
字符串.split(分隔符) - 返回数组
var str = 'open_door_now'
// ['open', 'door', 'now']
console.log( str.split('_') );
slice:截取字符串
字符串.slice(开始下标, 结束下标) - 返回截取出来一段字符串
var str = 'abcdefg'
console.log( str.slice(2, 4) );
将'i love you'转成'I Love You'
var str = 'i love you'
// 在空格位置放炸弹
var arr = str.split(' ')
// console.log(arr);
// 映射新数组
var brr = arr.map(function(item) {
var newItem = item[0].toUpperCase() + item.slice(1)
return newItem
})
// console.log(brr);
substr:截取字符串
字符串.substring(开始下标, 结束下标) - 返回截取出来一段字符串
var str = 'abcdef'
console.log( str.substring(2, 4) );
slice和substring的区别:
slice截取的时候,下标可以使用负数表示,但是截取的顺序必须是从左向右,开始下标必须在结束下标的左边
substring不可以使用负数表示下标,如果给了负数做下标,会将负数转成0;如果开始下标在结束下标的右边,会将两个参数交换顺序然后截取
console.log(str.slice(-4, -2)); // cd
console.log(str.slice(-2, -4)); // ''
console.log( str.substring(-4, -2) ); // 相当于str.substring(0, 0) ''
console.log( str.slice(4, 2) ); // ''
console.log( str.substring(4, 2) ); // 'c
indexOf:查找字符或小字符串在大字符串中第一次出现的下标
字符串.indexOf(字符或小字符串)
var str = 'abacdacdef'
console.log( str.indexOf('a') ); // 0
console.log( str.indexOf('cd') ); // 3
console.log( str.indexOf('a', 1) ); // 2
lastIndexOf:找字符或小字符串在大字符串中最后一次出现的下标
字符串.lastIndexOf(字符/小字符串)
var str = 'abacdacdef'
console.log( str.lastIndexOf('a') ); // 5
console.log( str.lastIndexOf('a', 4) ); // 2
startsWith:判断字符或小字符串是否是 大字符串的 开头
字符串.startsWith(字符/小字符串) - 返回布尔值
var str = 'abacdacdef'
console.log( str.startsWith('a') ); // true
console.log( str.startsWith('aaa') ); // false
endsWith:判断字符串是否以某个字符或小字符串结尾的
字符串.endsWith(字符/小字符串) - 返回布尔值
var str = 'abacdacdef'
console.log( str.endsWith('f') ); // true
console.log( str.endsWith('ff') ); // false
includes:判断字符串中是否包含某个字符或小字符串
字符串.includes(字符/小字符串) - 返回布尔值
var str = 'abacdacdef'
console.log( str.includes('cd') ); // true
console.log( str.includes('cdcd') ); // false
replace:将字符串中某一部分替换成新内容
字符串.replace(字符串中的一部分, 新内容) - 返回被替换后的字符串
var str = 'i love you'
var str1 = str.replace('love', 'hate')
console.log(str1);
replace默认不够贪婪,只换一次
repeat:将某个字符串重复多次,形成新的字符串
字符串.repeat(次数) - 返回新字符串
var str = '*'
str = str.repeat(9)
console.log(str);