一、严格模式
严格模式下,不允许隐式声明变量。
如何启动严格模式?
在作用域的开头部分添加 : ‘use strict’;
添加到script作用域的开头部分,对整个页面开启严格模式
添加到function作用域的开头部分,只对当前函数作用域启动严格模式。
二、ES5对数组新增的方法:(都不影响原数组)
1. indexOf(‘元素’,start)
作用: 在指定数组中查找某个元素第一次出现的下标位置。没有查找到,返回-1
第二个参数决定了从哪个下标位置开始向后查找。
返回值: 下标位置
2. lastIndexOf(‘元素’,start)
作用: 在指定数组中查找某个元素从右向左查找第一次出现的下标位置,没有查找到,返回-1
第二个参数决定了从哪个下标位置开始向前查找
3. forEach(function (value,index,array){}) 遍历数组
4. reduce(function(prev,next,index,array){ return …}) 归并
逻辑:prev和next会依次取出数组中所有的元素,prev 与 next 中的元素进行相应的计算,将结果再次赋值给prev变量,而next 将取出下一个数进行运算
5. map(function(value,index,array){ return …}) 遍历数组 返回一个数组 映射
6. filter(function(value,index,array){return …}) 过滤数组 返回一个新数组
注: return 后跟随 过滤条件
三、String的创建?
1. 字面量 ‘’ “”
2. 构造函数
四、属性 : length 字符串的长度
五、方法:查、替、截、转 (字符串的所有方法都不改变原串)
查:
charAt(index) : 查找指定下标位置的字符,返回字符
charCodeAt(index) : 查找指定下标位置字符的编码值
indexOf(‘字符串’,start) : 查找子串在父串中第一次出现的下标位置,没有查找到,返回-1
lastIndexOf(‘字符串’,start):查找子串在父串中从右向左查找第一次出现的下标位置,没有查找到,返回-1
替:
replace(旧串,新串) 替换字符串(一次只能替换一个)
思考: 如果替换父串有所有的指定的子串?
截:
substring(start,end) 截取指定范围的子串,支持参数互换
substr(start,length) 截取指定长度的子串
slice(start,end) 截取指定范围的子串,支持负数参数
var str = 'how do you do?';
console.log(str.substring(4,6)); //do
console.log(str.substr(4,6)) //do you
console.log(str.slice(4,6)); //do
console.log('-------------');
console.log(str.substring(6,4)); //do
console.log(str.slice(6,4)); //''
console.log('-------------');
console.log(str.substring(-6,-4)); //''
console.log(str.slice(-6,-4)); //ou
转:
toUpperCase() : 将小写字母转为大字字母
toLowerCase() : 将大写字母转为小写字母
split('切割符',length) : 将字符串转为数组
六、静态方法(类方法)
String.fromCharCode(编码值) :根据编码值返回指定的字符
七、字符集:
GB2312
GB18030(GBK)
Unicode编码
utf-8
0x4E00 19968 一
0x9FA5 40869
20902(回文数)