JavaScript 和 es5 的区别是什么? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
什么是 JavaScript
JavaScript 一种动态类型, 弱类型, 基于原型的客户端脚本语言, 用来给 html 网页增加动态功能.(好吧, 概念什么最讨厌了)
动态:
在运行时确定数据类型. 变量使用之前不需要类型声明, 通常变量的类型是被赋值的那个值的类型.
弱类:
计算时可以不同类型之间对使用者透明地隐式转换, 即使类型不正确, 也能通过隐式转换来得到正确的类型.
原型:
新对象继承对象 (作为模版), 将自身的属性共享给新对象, 模版对象称为原型. 这样新对象实例化后不但可以享有自己创建时和运行时定义的属性, 而且可以享有原型对象的属性.
PS: 新对象指函数, 模版对象是实例对象, 实例对象是不能继承原型的, 函数才可以的.
JavaScript 由三部分组成:
1. ECMAScript(核心)
作为核心, 它规定了语言的组成部分: 语法, 类型, 语句, 关键字, 保留字, 操作符, 对象
PS:* 不完全兼容的实现
2. DOM(文档对象模型)
DOM 把整个页面映射为一个多层节点结果, 开发人员可借助 DOM 提供的 API, 轻松地删除, 添加, 替换或修改任何节点.
PS:DOM 也有级别, 分为 DOM1,DOM2,DOM3, 拓展不少规范和新接口.
3. BOM (浏览器对象模型)
支持可以访问和操作浏览器窗口的浏览器对象模型, 开发人员可以控制浏览器显示的页面以外的部分.
PS:BOM 未形成规范
什么是 ES5
作为 ECMAScript 第五个版本 (第四版因为过于复杂废弃了), 浏览器支持情况可看第一副图, 增加特性如下.
1. strict 模式
严格模式, 限制一些用法,'use strict';
2. Array 增加方法
增加了 every,some ,forEach,filter ,indexOf,lastIndexOf,isArray,map,reduce,reduceRight 方法
PS: 还有其他方法 Function.prototype.bind,String.prototype.trim,Date.now
3. Object 方法
- Object.getPrototypeOf
- Object.create
- Object.getOwnPropertyNames
- Object.defineProperty
- Object.getOwnPropertyDescriptor
- Object.defineProperties
- Object.keys
- Object.preventExtensions / Object.isExtensible
- Object.seal / Object.isSealed
- Object.freeze / Object.isFrozen
PS: 只讲有什么, 不讲是什么.
更多 web 前端 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/javascript/17355.html