加载中...
es5新增方法
发表于:2021-07-10 | 分类: 前端 js 笔记
字数统计: 733 | 阅读时长: 3分钟 | 阅读量:

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;//不允许修改
});
上一篇:
函数
下一篇:
原型继承
本文目录
本文目录