这篇文章主要为大家展示了“ecmascript是不是解释器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ecmascript是不是解释器”这篇文章吧。
ecmascript是解释器。ecmascript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言,是解释器,负责翻译,是js语言核心部分,描述了js语言的语法和基本对象。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
一个完整的 JavaScript 实现由以下 3 个不同部分组成:
核心(ECMAScript):语言核心部分,描述了该语言的语法和基本对象。
文档对象模型(Document Object Model,DOM):网页文档操作标准,描述处理网页内容的方法和接口。
浏览器对象模型(BOM):客户端和浏览器窗口操作基础,描述与浏览器进行交互的方法和接口。
ECMAScript(es):负责翻译,为js的核心,解释器。
由ECMA-262定义的ECMAScript是一种在国际认可的标准的脚本语言规范,与Web浏览器没有依赖关系。ECMA-262标准主要规定了这门语言由以下组成部分:
语法
变量和数据类型
关键字和保留字
操作符
控制语句
对象
2009年ECMAScript 5.0版正式发布。在很长一段时间,使用javaScript都是按照5.0的标准。2015年ECMAScript 6发布正式版本,官方称为ECMAScript 2015。ECMAScript定义了脚本语言的所有属性、方法和对象。因此抵用web客户端脚本编码时一定要遵循ECMAScript标准。
5种基本数据类型:Undefined、Null、Boolean、Number、String,Symbol(es6新增)
1种复杂类型:object
5种引用类型:Array,Object,Function,Date,RegExp
3种基本包装类型:Boolean,Number,String
2种单体内置对象:Global,Math
1、四种方式判断数据类型
typeof
const a = "" console.log(typeof(a)) => String const b = 1 console.log(typeof(b)) => Number const c console.log(typeof(c)) =>Undefined const d = [] console.log(typeof(d)) => Object const e = {} console.log(typeof(e)) =>Object const f = null console.log(typeof(f)) =>Object //null 作为尚未创建的对象
instanceof
这种方式只适合判断object类型
const arr = [] console.log(arr instanceof Array)=> true console.log(null instanceof Object) ---> false console.log([function] instanceof Object | Function) --> true
Object.prototype.toString.call()
这种方式可以将全部的数据类型检测出来 推荐使用。因为toString是Object的原型方法, 而 Array Function 等都是Object的实例。都重写了toString 方法。返回的是类型的字符串
Object.prototype.toString.call(null) => [object Null] Object.prototype.toString.call(Math) => [object Math] Object.prototype.toString.call(function(){}) => [object Function] Objdec.prototype.toString.call(new Date) => [object Date] Object.prototype.toString.call(Symbol()) => [object Symbol] Object.prototupe.toString.call(undefined) => [object Undefined] Object.prototype.toString.call(123) => [object Number] Object.prototype.toString.call(true) => [object Boolean] Object.prototype.toString.call('123') => [object String] Object.prototype.toString.call({}) => [object Object] Object.prototype.toString.call([]) => [object Array]
constructor
判断对象的构造函数。
1. null 是js 原型链的起点,没有构造函数
2. undefined 没有构造函数
3. [].constructor === Array ---> true
以上是“ecmascript是不是解释器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。