关于 'JavaScript实现' 的思考

来源:互联网 发布:淘宝男士中老年休闲鞋 编辑:程序博客网 时间:2024/05/16 14:42

什么是 'JavaScript实现' ? 这个要从JavaScript标准说起.

早在1996年, ECMA标准化了JavaScript, 时至今日ECMAScript (JavaScript标准) 已经到了第5个版本.

对于JavaScript来说, JavaScript标准只是一份说明文档 , 它制定了这个语言是什么样子的, 即怎样写语句, 写出这样的语句执行后会有怎样的效果. 

比如标准中说 ' $%^#$%#% ' 这样写代表初始化一个变量, 那么现在我们写的代码里可能就看不到 'var a = 1;' 这样的JavaScript代码了.

下面我们来说 '实现'.

就像 '在家中规定按下开关, 灯就会亮.' 这句话, 只是一个 '标准'. 而在屋子里面安装的开关, 灯具和 铺设的电路, 才是对这个 '标准' 的实现.

在铺设电路的时候有不同的方式, 也就是对 '标准' 的不同实现, 但只要是实现了 '按下开关' -> '灯亮' 即是符合标准的实现. 

实现可以是符合标准的, 也可以是不符合标准的, 到底是什么样的要看实现者的想法. 如果非要 '按下开关' -> '启动洗衣机' 这样的实现, 也不是不行, 只不过使用者要改一下 '按开关开灯' 的习惯.

JavaScript也一样, 一个实体在接收了一串按照 '标准' 排列的字符后, 可以给出 '标准' 中描述的结果. 这个实体便是符合JavaScript标准的实现. 

简单的来说, 就是一个可以执行JavaScript代码的实体, 就是一个JavaScript实现. 

这个实体如果在浏览器中, 即叫做JavaScript的浏览器端实现 (使浏览器可以执行JavaScript代码 ). 而这个浏览器端实现有一个更常见的名字叫做 'JavaScript解释器' 也叫 'JavaScript引擎'. 比如说Chrome的V8, IE9的Chakra[查克拉?], 都是JavaScript实现 (但是他们的实现方式是不同的, 即线路的铺设方式不同) .

这个实体如果是在服务器端, 当然也就叫做JavaScript的服务器端实现了, 比如node.js.

嗯..大概就是这样吧..发现什么问题的话欢迎大家指正..感谢感谢..^-^..


原创粉丝点击