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的一些新方法的更多相关文章

  1. es5数组的新方法

    1.every方法 //逻辑判断返回值为一个Boolean值 every方法就是每一个返回函数的返回值都是true的时候,才为true,否则为false var arr=[1,2,5,88,5,555 ...

  2. ES5中新增的forEach等新方法的一些使用声明

    转载地址:http://www.zhangxinxu.com/wordpress/?p=3220 一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块, ...

  3. 看es6 字符串新方法有感

    'x'.repeat(3) // "xxx" 'hello'.repeat(2) // "hellohello" 'na'.repeat(0) // " ...

  4. ES5 object的新函数

    虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都 ...

  5. 《JS权威指南学习总结--7.9 ES5中的数组方法》

    内容要点: ES5中定义了9个新的数组方法来遍历.映射.过滤.检测.简化和搜索数组. 概述:首先,大多数方法的第一个参数接收一个函数,并且对数组的每个元素(或一个元素)调用一次该函数. 如果是稀疏数组 ...

  6. javascript Object的新方法

    今天复习es6,又看到Object的一堆方法,与es5的表现又有不一致,耗费了一整天,整理一下: 前几天在司徒正美的书里又看到了es5 Object的字眼,为了向下兼容,大神们也是牛逼的整理出一系列i ...

  7. 带你学习ES5中新增的方法

    1. ES5中新增了一些方法,可以很方便的操作数组或者字符串,这些方法主要包括以下几个方面 数组方法 字符串方法 对象方法 2. 数组方法 迭代遍历方法:forEach().map().filter( ...

  8. ES5新增数组的方法

    ES5新增数组的方法 ES5新增数组常见方法(indexOf/forEach/map/filter/some/every) .indexOf( data , start)  检测数组中是否存在指定数据 ...

  9. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

随机推荐

  1. eclipse安装版本

    http://www.08kan.com/gwk/MzAwOTE3NDY5OA/203521023/1/cdf557d3a1d4535a6c691ce756c3f8b1.html

  2. [LeetCode] Count of Range Sum 区间和计数

    Given an integer array nums, return the number of range sums that lie in [lower, upper] inclusive.Ra ...

  3. [LeetCode] Binary Tree Vertical Order Traversal 二叉树的竖直遍历

    Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...

  4. PyVISA介绍

    针对测量仪器进行编程比较痛苦,存在各种各样的协议以及通过不同接口和总线(GPIB.USB.RS232).使用任何一种语言去编程,你必须找到支持仪器和对应总线的合适的库. 为了解决这种问题,VISA应运 ...

  5. 【WPF】Combobox指定选中值用selectedValue不是很灵的时候,

    wpf combobox 指定选中的值,前题,combobox是通过数据库绑定的ItemsSource:所以再指定的时候用selectValue不是很成功!我的解决方法是 生成一个字典,办值和索引对应 ...

  6. 二.持续集成之--WEB后台

    1.系统管理-系统设置:把linux服务器加进去 2.General配置 3.源码管理: 4.构建触发器 5.构建环境 6.构建 7.构建后操作

  7. 加快XCode的编译链接速度(200%+)—XCode编译速度慢的解决方案

    最近在开发一个大项目的时候遇到一个很头疼的问题,由于项目代码较多,每次都要编译链接1分钟左右,调试的时候很浪费时间,于是研究了一下如何提高编译链接的速度,在这里分享给大家. 提升编译链接的速度主要有以 ...

  8. Android基础总结(十)

    内容提供者(掌握) 应用的数据库是不允许其他应用访问的 内容提供者的作用就是让别的应用访问到你的私有数据 自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数 ...

  9. Git中如何利用生成SSH个人公钥访问git仓库

    Git中如何利用生成SSH个人公钥访问git仓库方法(这里以coding平台为例): 1. 获取 SSH 协议地址 在项目的代码页面点击 SSH 切换到 SSH 协议, 获得访问地址, 请使用这个地址 ...

  10. LOL one Key

    玩英雄联盟的小伙伴们快点来,犀利的工具哦,注意一点哦,放技能的时候别按空格,不然放不出来.最后说一句这几天常说的话 新年快乐.. 下载地址:http://pan.baidu.com/s/1eQzJ8l ...