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. ASP.NET MVC - 定制属于你自己的ViewEngine

    http://blog.csdn.net/jackvs/article/details/7788743 ASP.NET MVC出来这么久了,心中却又很多的疑惑:为什么所有的View都要放在Views目 ...

  2. [LeetCode] Ternary Expression Parser 三元表达式解析器

    Given a string representing arbitrarily nested ternary expressions, calculate the result of the expr ...

  3. [LeetCode] Integer to Roman 整数转化成罗马数字

    Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...

  4. AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!

    文章更新: AppBox v6.0中实现子页面和父页面的复杂交互 AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox ...

  5. Ajax入门(二)

    接收服务器返回的消息 1,定义触发Ajax的js效果 2,创建Ajax方法 如果返回的数据是XML,则需使用aj.responseXML 3,接收服务器返回的消息,并显示在网页上 错误案例:直接接收服 ...

  6. 小谈Jquery框架

    现在Jquery框架对于开发人员基本上是无人不知,无人不晓了,用起来十分的方便,特别是选择器十分强大,提高了我们的开发速度.但是好多人也只是停留在了会用的基础上,我个人觉得会用一个框架不算什么,只能说 ...

  7. telent对端口检测状态分析

    telnet基于TCP/IP协议通信的,把远程的shell反弹回本地! yum install -y telnet apt-get  install telnet ###端口被封,有墙堵住 [root ...

  8. python学习之路 第一天

    1.Python 3 安装. 2.Python 开发工具 PyCharm安装. 3.print("hello world!")  #打印hello world!  注:Python ...

  9. C#-WebForm-复合控件

    学习顺序:1.如何绑定数据 2.如何设置绑定项 3.如何取出数据 1.RadioButton - 单选按钮 RadioButtonList - 单选按钮组 控件中的ID生成了相同名字的 ID.Name ...

  10. SVO原理解析

    最近空闲时间在研究Semi-Direct Monocular Visual Odometry(SVO)[1,2],觉得它值得写一写.另外,SVO的运算量相对较小,我想在手机上尝试实现它. 关于SVO的 ...