ES5中新增方法
迭代遍历方法:forEach() map() filter() some() every()1.array.forEach(function(value,index,arr))
- value:数组当前的值
- index:数组当前的索引
- arr:数组对象本身
代码示例:
//forEach方法
var arr=[5,6,7,8];
var sum=0;
var res = arr.forEach(function(value,index,arrs){
return sum += value;
});
console.log(res);
2.array.filter(function(value,index,arr))
filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组还有当过滤器来使用。
- 注意它直接返回一个新数组
- value:数组当前项的值
- index:数组当前
- arr:数组对象本身
代码示例:
// 2.filter方法
var arr=[9,4,15,20,35,45];
var newarr= arr.filter(function(value,index,arrs){
return value>10;
});
console.log(newarr);
3.array.some(value,index,arr)
- some()方法用于检测数组中的元素是否满足条件,通俗点 查找数组中是否有满足条件的元素。
- 注意它的返回值是布尔值,如果查找到这个元素,就返回true,如果查不到就返回false.
- 如果找到第一个满足条件的元素,则终止循环,不在继续查找。
- value:数组当前项的值
- index:数组当前
- arr:数组对象本身
代码示例:
// 3.some方法
let arr=['red','blue','green','blue','block','pink'];
let newarr=arr.some(function(value){
return value=='blue';
});
console.log(newarr);
字符串方法trim()
- trim()方法会从一个字符串的两端删除空白字符。
- trim()方法并不影响原字符串本身,它返回的是一个新的字符串。
代码示例:
//字符串trim()方法案例
var input=document.querySelector('input');
var btn=document.querySelector('button');
var box=document.querySelector('div');
btn.addEventListener('click',function(){
var str=input.value.trim();
if(str==''){
alert('请输入内容');
return false;
}else{
box.innerHTML=input.value;
}
});
btn.addEventListener('blur',function(){
box.innerHTML='';
input.value='';
});
对象方法Object.keys()
1.Object.keys(obj)
- 效果类似for in
- 返回一个有属性名组成的数组
代码示例:
//获取对象属性的方法Object.keys(obj);
var obj={
name:'刘德华',
age:18,
xb:'男'
}
var newobj=Object.keys(obj);
console.log(newobj)
newobj.forEach(function(value){
console.log(value);
});
Object.defineProperty()定义新属性或修改原有的属性
2.Object.defineProperty(obj,prop,descriptor)
- Object.defineProperty()第三个参数descriptor说明:以对象形式{}书写
- value:设置属性的值 默认为undefined
- writable:值是否可以重写(修改)。true|fase默认为false
- enumerable:目标属性是否可以被枚举(遍历),true|false默认为 false
- configurable:目标属性是否可以被删除或是否可以再次修改特性true|false 默认为false
- 对象如果存在相关属性,value就是修改属性没有则是添加
代码示例:
//Object.defineProperty()定义新属性或修改原有的属性
var obj={
name:'刘德华',
age:18,
sex:'男'
}
Object.defineProperty(obj,'age',{
value:20
});
Object.defineProperty(obj,'id',{
writable:false;//不允许修改
});