178 javascript use-strict node.js
我已经开始探索Node.js并编写了许多演示Web应用程序,以了解Node.js,Express.js,jade等的流程.
但最近我遇到的一件事是声明"use strict"
作为每个函数和每个.js
文件中的第一行.
Node.js究竟是如何解释的?
Amo*_*rni 188
"use strict";
基本上它启用严格模式.
严格模式是一种允许您在"严格"操作环境中放置程序或功能的功能.在严格的操作上下文中,方法表单像以前一样将它绑定到对象.函数表单将此绑定到undefined,而不是全局集对象.
根据你的意见,你会说有些不同之处.但这是你的假设.Node.js代码只是你的JavaScript代码.所有Node.js代码都由V8 JavaScript引擎解释.在V8 JavaScript引擎是由谷歌的Chrome网络浏览器开发的开源JavaScript引擎.
因此,"use strict";
Chrome浏览器和Node.js的解释方式没有重大区别.
请阅读JavaScript中的严格模式.
欲获得更多信息:
ECMAScript 6代码和严格模式.以下是规范的简要说明:
10.2.1严格模式代码
可以使用无限制或严格模式语法和语义来处理ECMAScript脚本语法单元.在以下情况下,代码被解释为严格模式代码:
- 全局代码是严格模式代码,如果它以包含使用严格指令的指令序言开头(见14.1.1).
- 模块代码始终是严格的模式代码.
- ClassDeclaration或ClassExpression的所有部分都是严格模式代码.
- 如果Eval代码以包含Use Strict Directive的Directive Prologue开头,或者对eval的调用是严格模式代码中包含的直接eval(见12.3.4.1),则Eval代码是严格模式代码.
- 如果关联的FunctionDeclaration,FunctionExpression,GeneratorDeclaration,GeneratorExpression,MethodDefinition或ArrowFunction包含在严格模式代码中,或者如果产生函数[[ECMAScriptCode]]内部槽的值的代码以指令序言开头,则函数代码是严格模式代码包含使用严格指令.
- 作为内置函数和生成器构造函数的参数提供的函数代码是严格模式代码,如果最后一个参数是一个String,处理时是一个以包含Use Strict指令的Directive Prologue开头的FunctionBody.
此外,如果您丢失了当前版本的Node.js支持的功能,此node.green可以帮助您(利用与kangax相同的数据).
归档时间: |
|
查看次数: |
126181 次 |
最近记录: |