如何在Node.js中解释“严格使用”语句?[重复]

2020/10/18 01:20 · javascript ·  · 0评论

我已经开始探索Node.js,并编写了许多演示Web应用程序,以了解Node.js,Express.js,jade等的流程。

但是我最近遇到的一件事是,该语句"use strict"作为每个函数和每个.js文件中的第一行

Node.js对它的解释如何?

"use strict";

基本上,它启用严格模式。

严格模式是一项功能,使您可以在“严格”的操作环境中放置程序或功能。在严格的操作上下文中,方法窗体像以前一样将此绑定到对象。函数形式将其绑定到未定义的对象,而不是全局设置的对象。

根据您的评论,您正在说会有一些区别。但这是您的假设。Node.js代码不过是您的JavaScript代码。V8 JavaScript引擎会解释所有Node.js代码V8 JavaScript引擎是由谷歌的Chrome网络浏览器开发的开源JavaScript引擎。

因此,"use strict";Chrome浏览器和Node.js的解释没有太大区别

请阅读JavaScript中的严格模式。

了解更多信息:

  1. 严格模式
  2. 浏览器中的ECMAScript 5严格模式支持
  3. 严格模式即将来临
  4. 严格模式的兼容性表
  5. 堆栈溢出问题:JavaScript中“严格使用”有什么用?其背后的原因是什么

ECMAScript 6:

ECMAScript 6代码和严格模式。以下是该规范的简要说明

10.2.1严格模式代码

可以使用非限制或严格模式的语法和语义来处理ECMAScript脚本语法单元。在以下情况下,代码被解释为严格模式代码:

  • 如果全局代码以包含使用严格指令的指令序言开头(请参见14.1.1),则它是严格模式代码。
  • 模块代码始终是严格模式代码。
  • ClassDeclaration或ClassExpression的所有部分都是严格模式代码。
  • 如果Eval代码以包含使用严格指令的指令序言开头,或者如果eval的调用是包含在严格模式代码中的直接eval(请参阅12.3.4.1),则它是严格模式代码。
  • 如果在严格模式代码中包含关联的FunctionDeclaration,FunctionExpression,GeneratorDeclaration,GeneratorExpression,MethodDefinition或ArrowFunction,或者如果产生该函数的[[ECMAScriptCode]]内部插槽值的代码以伪指令序言开头,则功能代码为严格模式代码。包含“使用严格”指令。
  • 如果最后一个参数是一个字符串,则该函数代码将作为内置函数和生成器构造函数的参数提供给严格模式代码,该字符串在处理时是一个以包含使用严格指令的指令序言开头的FunctionBody。

另外,如果您不了解当前版本的Node.js支持哪些功能,则此node.green可以为您提供帮助(利用与kangax相同的数据)。

本文地址:http://javascript.askforanswer.com/ruhezainode-jszhongjieshiyangeshiyongyujuzhongfu.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!