关于es5的一些新方法
1.数组方法
(1)isArray
在之前我们判断数组类型的数据都是用instanceof来判断的,es5新增了对数组的判断,即Array.isArray()
(2)every和some
这两个方法一般用于对数组过滤,并返回boolean值,
every方法对应于要求数组中所有元素都符合要求,而some是只要有一个符合就返回true,二者的使用方法一致。
var flag = array.every(function(value, index, fullValue){
return value>5;//这里可以写筛选条件
});
(3)forEach
这个类似于jQuery中的$.each();但是注意的是参数的不同,二者的索引和子集位置相反
array.forEach(function(value, index, fullArray){
});
(4)map
这个方法可以通过遍历一个数组来返回一个新的数组,并且可以对数组每一项进行修改
var newArray = array.map(function(value, index, fullArray){
});
(5)filter
对数组进行过滤,并返回符合条件的数组,这个方法可以看做缩减版的map方法
var newArray = array.filter(function(value, index, fullArray){
return value>5;//过滤条件
});
2.对象方法
(1)Object.preventExtensions()和Object.isExtensible()
这两个方法,前者用于对象的锁定,即Object.preventExtensions(obj),obj对象无法再添加新的属性和方法,对象无法继续扩展,而Object.isExtensible用于检测对象是否被锁定。
例:var obj = {
a: 1
};
Object.preventExtensions(obj);
obj.b = 2;
console.log(obj);//输出{a:1}
(2)Object.freeze()和Object.isFrozen()
这个两个方法,前者用于更进一步锁定对象,也就是说对象的原有值无法改变,当然也无法删除,而后者检测对象是否具有这个属性。
(3)Object.getOwnPropertyDescriptor()
var obj = {
name:'javascript'
}
(4)Object.getOwnPropertyDescriptor(obj, "name");
//返回如下
{
configurable:true,
enumerable:true,
value:'javascript',
writable:true
}
这里返回的值可以用Object.defineProperty()来设定。而Vue的双向数据绑定也用的这一点,具体在我之前的写的博客中有(http://www.cnblogs.com/Upton/p/5969475.html)。
(5)Object.keys()
可以获取所有的对象key值
(6)Object.create()
可以创建一个对象的副本,类似于复制对象,对于继承有一定意义。
var person = {
name:"javascript"
};
var p1 = Object.create(person);
关于es5的一些新方法的更多相关文章
- es5数组的新方法
1.every方法 //逻辑判断返回值为一个Boolean值 every方法就是每一个返回函数的返回值都是true的时候,才为true,否则为false var arr=[1,2,5,88,5,555 ...
- ES5中新增的forEach等新方法的一些使用声明
转载地址:http://www.zhangxinxu.com/wordpress/?p=3220 一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块, ...
- 看es6 字符串新方法有感
'x'.repeat(3) // "xxx" 'hello'.repeat(2) // "hellohello" 'na'.repeat(0) // " ...
- ES5 object的新函数
虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都 ...
- 《JS权威指南学习总结--7.9 ES5中的数组方法》
内容要点: ES5中定义了9个新的数组方法来遍历.映射.过滤.检测.简化和搜索数组. 概述:首先,大多数方法的第一个参数接收一个函数,并且对数组的每个元素(或一个元素)调用一次该函数. 如果是稀疏数组 ...
- javascript Object的新方法
今天复习es6,又看到Object的一堆方法,与es5的表现又有不一致,耗费了一整天,整理一下: 前几天在司徒正美的书里又看到了es5 Object的字眼,为了向下兼容,大神们也是牛逼的整理出一系列i ...
- 带你学习ES5中新增的方法
1. ES5中新增了一些方法,可以很方便的操作数组或者字符串,这些方法主要包括以下几个方面 数组方法 字符串方法 对象方法 2. 数组方法 迭代遍历方法:forEach().map().filter( ...
- ES5新增数组的方法
ES5新增数组的方法 ES5新增数组常见方法(indexOf/forEach/map/filter/some/every) .indexOf( data , start) 检测数组中是否存在指定数据 ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
随机推荐
- Linux 内核版本命名
Linux 内核版本命名在不同的时期有其不同的规范,我们熟悉的也许是 2.x 版本奇数表示开发版.偶数表示稳定版,但到 2.6.x 以及 3.x 甚至将来的 4.x ,内核版本命名都不遵守这样的约定. ...
- float4与half4数据类型
连续4个32位float类型数的向量 HLSL数据类型 GPU是以四维向量为基本单位来计算的.4个浮点数所组成的float4向量是GPU内置的最基本类型.使用GPU对两个float4向量进行计算,与C ...
- Android相关小知识搜集
adb devices得到????????????错误结果 问题: 执行adb devices后,得到如下结果:???????????? device 相关背景: AOSP:Androi ...
- C语言结构体对齐
1.结构体变量中的元素如何访问? (1)数组中元素的访问方式:表面上有2种方式(数组下标方式和指针方式):实质上都是指针方式访问.(2)结构体变量中的元素访问方式:只有一种,用.或者->的方式来 ...
- java--面向对象---访问属性
<第一节> private--只能用于成员变量和成员函数(限制于类而不是对象),即只能在本类中访问被定义为private 的变量 public-- protected-- <第二节& ...
- dataTables获取当前行json格式数据
装载表格数据 $(document).ready( function () { //页面加载后装载表格数据 var table = $('#mytable').DataTable( { "s ...
- 如何生成每秒百万级别的 HTTP 请求?
第一篇:<如何生成每秒百万级别的 HTTP 请求?> 第二篇:<为最佳性能调优 Nginx> 第三篇:<用 LVS 搭建一个负载均衡集群> 本文是构建能够每秒处理 ...
- 简单的Linux的用户权限管理
企业生产环境用户权限集中管理方案案例 建立中要添加如下的项目经验: 在了解公司业务流程后,提出权限整改解决方案,改进公司超级用户Root权限泛滥的问题. 我首先写好方案后,给老大看,取得老大的支持后, ...
- IIS7.5使用web.config设置伪静态的二种方法
转自 网上赚钱自学网 .http://www.whosmall.com/post/121 近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两 ...
- supermap iobect .net 7.1.2 图例的拆分
LayoutSelection objLytSelect = m_MapLayoutControl.MapLayout.Selection;//.Selection; //LayoutSelectio ...