使用严格模式: “use strict”(位置必须放到作用域的开头)
例:
//"use strict";
a = 3;
function fn(){
"use strict";
b = 3;
console.log(b);
}
console.log(a);
fn();
报错,ab没有定义
Es5
新增数组方法:(新增的数组方法都不影响原数组)
(indexOf/forEach/map/reduce/filter)
(一) indexOf(元素,从哪个下标开始)
作用:
在数组中查找指定元素第一次出现下标的位置,如果没有出现,返回 -1;
var arr = [4,3,2,1,5,6,7,5,2,9];
console.log(arr.indexOf(3));
只有一个元素的时候表示索引号为3,所以打印1
console.log(arr.indexOf(2,3));
表示从第三个元素开始,向后面找元素为2的,输出他的下标 8
console.log(arr.indexOf(8));返回-1,数组里面没找到8元素
console.log(arr.indexOf(12));返回-1数组里面没找到12下标
(二)
lastIndexOf(元素,从哪个下标开始向前找第一个出现的位置)
作用:
在数组中查找指定元素,从指定下标位置开始向前找第一次出现的下标位置,如果没有出现,返回-1;
var arr = [4,3,2,1,5,3,2,6,2];
console.log(arr.lastIndexOf(2,7)); //6
console.log(arr.indexOf(9)); //-1
(三)
forEach(function(value,index,array){})
作用:遍历当前的数组
var arr = [4,3,2,1,5,3,2,6,2];
arr.forEach(function(value,index,array){
console.log('下标:' + index +' '+ '元素' + value + ' ' + '数组本身' + array);
})
复制数组:
var list = [];
arr.forEach(function(value){
list.push(value);
})
console.log(list);
var arr = [4,5,3,523,5,3];
var list1 = arr.map(function(value){
return value ;
});
console.log(arr,list1);
map(function(value,index,array){
retuen…
})
作用:遍历数组,可以对当前数组中的每一个元素进行其他操作,返回新数组。
var arr = [4,5,3,523,5,3];
var list = arr.map(function(value){
return value + 2;
});
console.log(arr,list);
filter(function(value,index,array){return过滤条件}) 作用: 筛选出满足条件的元素,返回数组。
var arr = [4,3,2,1,5,3,2,6,2];
var list = arr.filter(function(value){
return value >= 3;
});
console.log(list);
reduce(function(prev,next,index,array){return…})
归并 prev 前一个 next 下一个
prev取数组中的第一个元素,next取下一个元素,进行运算,运算后的结果再赋值给prev,next依次取出后面的每一个元素进行运算
var arr = [4,3,2,1,5,3,2,6,2];
var sum = arr.reduce(function(prev,next){
return prev + next;
});
console.log(sum);
可以利用这个方法来求sum
string
一、创建字符串对象?
1.字面量 “” ‘’;
2.构造函数的方式 new String()
var str = 'hello';
var oStr = new String('world');
console.log(typeof str,typeof oStr); //'string' 'object'
*/
var str = “how do you do”;
alert(str.charAt(2));
console.log(str.charAt(15));