2009年12月,ECMAScript 5.0
2011年6月,ECMAscript 5.1版发布
2015年6月,ECMAScript 6正式通过,成为国际标准
ES6第一个版本 ES2015,发布于2015年6月,第二个版本 ES2016发布于2016年6年

ECMAScript 5  Object Array扩展

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>ECMAScript5</title>
<style>
p{ line-height: 40px;border-bottom: 1px solid green;}
</style>
</head>
<body>
<p>1 .ES5 strict模式,变量必须有 var</p>
<script>
"use strict";
//testvar = 4;
</script>
<p>2. JSON.parse 字符串转为json</p>
<script>
"use strict";
var str='{"name":"hello"}';
var res=JSON.parse(str);
console.log("res.name: "+res.name);
</script>
<p>2.2 JSON.parse reviver</p>
<script>
"use strict";
var str2='{"name":"hello","age":"12"}';
var res2=JSON.parse(str2,function(key,value){
if(typeof value == 'string'){
return parseInt(value);
}else{
return value;
}
});
console.log("res2.age: " +res2.age+ ' ,type: '+typeof(res2.age));
</script>
<p>3. JSON.stringfy() 过滤掉 undefined 的值 ,并格式化JSON 缩进</p>
<script>
"use strict";
var nums = {
"first": 7,
"second": 14,
"third": 13
}
var luckyNums = JSON.stringify(nums, function(key, value) {
if (value == 13) {
return undefined; // 如果 undefined 则直接被JSON忽略。
} else {
return value;
}
}, 2); // 数字2是格式化,缩进2个空格,最大缩进10个空格。
console.log("luckyNums: "+luckyNums);
</script>
<p>4.1 Object.defineProperty 对象属性 ,定义 cat 对象的 name 属性 默认值为 miao 且不可以修改</p>
<script>
"use strict"; // 去掉 strict 不报错。 但可以显示错误
var cat={};
Object.defineProperty(cat,"name",{
value:'miao',
writable:false
})
//cat.name='hehe'; // use strict 浏览器会报错
console.log("cat.name: "+cat.name);
</script>
<p>4.2 Object.create()</p>
<script>
"use strict";
function Poker(style, title, value) {
this.Style = style;
this.Title = title;
this.Value = value;
}
var pokerA = Object.create(new Poker("club", "A", 14));
console.log(Poker.constructor); //function Function() { [native code] }
console.log("pokerA.Value: "+pokerA.Value);
</script>
<p>4.3 Object 总结:对对象的属性有了更多控制,比如是否允许被修改,删除等</p>
<a href="https://msdn.microsoft.com/zh-cn/library/dn656907.aspx">Object细节</a>
<p>5.1 Array 数组 isArray indexOf</p>
<script>
"use strict";
console.log("Array.isArray(): "+Array.isArray("xxx"));
console.log("Array.isArray(): "+Array.isArray(['a','b']));
console.log("Array.indexOf(): "+["Hello", "javaScript", "ECMAScript", "HTML5"].indexOf("javaScript"));//1
console.log("Array.lastIndexOf(): "+["a","Hello", "javaScript"].lastIndexOf("javaScript"));//1
</script>
<p>5.2 array.forEach 处理数组每一个元素</p>
<script>
"use strict";
var arr1 = "Charles,Mark,Bill,Vincent,William,Joseph".split(",");
arr1.forEach(
function(item, index) {
if (index % 2 == 0) {
arr1[index] = "name:" + item;
}
}
);
arr1.forEach(
function(item, index) {
console.log("array.forEach(): "+item);
}
);
</script>
<p>5.3 array.some() 一些 array.every()</p>
<script>
var arr11 = "Charles,Markee,Bile,Vincent,William,Joseph".split(",");
console.log("array.some(): "+arr11.some(
function(item, index) {
return item.length < 5;
} //数组是否有一些元素的长度小于5 true
)
); //true
console.log("array.every(): "+arr11.every(
function(item, index) {
return item.length < 7;
} // 所有数组元素长度都小于7 ? false
)
)//false
</script>
<p>5.4 array.map()</p>
<script>
var arr1 = "Charles,Mark,Bill,Vincent,William,Joseph".split(","); // split() 字符串转成数组
var arr2 = arr1.map(
function(item, index) {
if (item.indexOf("ll") > -1) {
return item;
}
}
);
arr2.forEach(
function(item, index) {
console.log("item: "+item);
}
);
</script>
</body>
</html>
<p>4. es5 字符串当做数组</p>
<script>
"use strict";
var a = "hello,world";
document.write(a[2]+" "+a[a.length-1]);
</script>

ECMAScript 5的更多相关文章

  1. ECMAScript 6 扫盲

    ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中 ...

  2. ECMAScript 6入门

    预计在2014年底,ECMAScript 6将会正式发布,他的草案在13年3月份被冻结,后续提出新特性将会移至ECMASript 7中.目前还没有哪款浏览器实现了ES6的全部内容,兼容性最强的一款要数 ...

  3. Javascript与ECMAScript

    我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的. ECMAScript是一种脚本在语法和语义上的标准. 主要包括:语法.类型.语句.关键字.保留字.操作符.对象. 它 ...

  4. ECMAScript 6 开篇准备

    1前言 该系列文章均为学习阮一峰老师<ECMAScript 6 入门>一书的学习笔记.原著:http://es6.ruanyifeng.com/ 各大浏览器的最新版本,对ES6的支持可以查 ...

  5. ECMAScript 5中属性的特性值

    这是<JavaScript高级程序设计(第三版)>第六章相关内容的总结. ECMAScript中有两种属性:数据属性和访问器属性.每种属性都有四个特性值. 数据属性的四个特性值: [[Co ...

  6. SharePoint 2013 Excel Services ECMAScript 示例之明日限行

    前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了, ...

  7. JavaScript异步编程(1)- ECMAScript 6的Promise对象

    JavaScript的Callback机制深入人心.而ECMAScript的世界同样充斥的各种异步操作(异步IO.setTimeout等).异步和Callback的搭载很容易就衍生"回调金字 ...

  8. EcmaScript相关文档

    ecmascript5.1中文文档 ECMAScript 6入门 JavaScript 标准参考教程 ECMAScript 5.1简介 ES5中新增的Array方法详细说明 firefox社区java ...

  9. ECMAScript 6 Features 中文版

    ECMAScript 6 Features 中文版 如词不达意,欢迎提 PR & issue 采用中英混排的方式进行译制,如不解请查看对应原文 本文档将与原作者的 文档 保持同步更新,欢迎关注 ...

随机推荐

  1. ubuntu右上角时间不显示

    重启unity sudo killall unity-panel-service

  2. iPhone屏幕尺寸/launch尺寸/icon尺寸

    屏幕尺寸 6p/6sp     414 X 736 6/6s         375 X 667 5/5s         320 X 568  4/4s         320 X 480   la ...

  3. node.js

    学习网址:http://www.jdon.com/idea/nodejs/

  4. Android中Context的理解及使用(二)——Application的用途和生命周期

    实现数据共享功能: 多个Activity里面,可以使用Application来实现数据的共享,因为对于同一个应用程序来说,Application是唯一的. 1.实现全局共享的数据App.java继承自 ...

  5. eclipse启动tomcat, http://localhost:8080无法访问

    原地址 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能访问. 关闭eclipse里面的 ...

  6. http://875880923.iteye.com/blog/1963400

    已经接触了一段时间的ACM(详见百度百科)了,每回刷杭电oj的题累了的时候,就喜欢去看Ranklist里面的排名,看看前面的牛人的格言,让自己有一点憧憬.有一天突然好奇杭电上的人做的总题数的数量与人数 ...

  7. .net一般处理程序(httphandler)实现文件下载功能

    Handler文件代码如下: public class MDMExporterWeb : IHttpHandler { public void ProcessRequest(HttpContext c ...

  8. 重写官方TodoList,对于初学react+redux的人来说,很有好处

    虽然官网的TodoList的例子写的很详细,但是都是一步到位,就是给你一个action,好家伙,全部都写好了,给你一个reducer,所有功能也是都写好了,但是我们这些小白怎么可能一下就消化那么多,那 ...

  9. MDI窗体容器--2016年12月15日

    MDI窗体容器 多文档界面(Multiple-Document Interface)简称MDI窗体.MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中.MDI窗体中通常有包含子菜单的窗口菜单, ...

  10. 键盘按钮keyCode大全

    字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 ...