问题标签 [use-strict]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - “使用严格”对实时站点安全吗?
“使用严格”;看起来很棒,我们真的很想在我们的商店使用它。但是,我们只是想要它,以便我们(开发人员)可以找到严格性问题;我们非常不想让我们的网站在之前运行良好的情况下为我们的实际客户中断。
现在,我们可以使用一些服务器端逻辑来实现这一点:
...除了“使用严格”在逐个文件的基础上运行,因此实际上不会起作用(好吧,除非我们开始在服务器端处理我们所有的 JS 文件)。
所以,我的问题是:在页面加载时是否会检查所有“使用严格”检查的内容,或者“使用严格”是否有可能在页面加载后发现错误? 如果是前者,我们可以直接使用“use strict”,不用担心,因为我们会先在开发中加载我们的网站,然后再加载到现场。但是,如果是后者,我们似乎不走运,因为我们无法测试所有可能的运行时条件(同样,我们不想在之前没有错误的情况下为我们的用户犯错误)。
javascript - 将 jQuery 与“use strict”结合使用的正确方法是什么?
如果我有类似以下的东西
我收到警告
javascript - YUI Compressor 和“使用严格”提示
我一直在使用 YUI Compressor 来缩小 JS 文件。我有这个代码:
我用这个命令压缩它:
压缩输出文件中不存在“使用严格”提示。似乎 YUI 删除了所有提示。它输出这个警告:
虽然,我的代码在压缩后工作正常,但我想知道 YUICompressor 是否有一个参数来保留提示和/或避免该警告的方法。
有什么建议吗?谢谢。
javascript - 使用 || 运营商通知
Javascript代码:
它正在工作,只是 NetBeans 说:“使用 || 运算符(列 [? 所在的位置])”。我没有找到任何解释。
它是什么?
谢谢!
javascript - 仅在调试中“使用严格”?
我想知道是否真的有必要"use strict"
在我完成编程并将我的 JavaScript 文档发布给任何人查看时包含在内。我喜欢使用它,因为可以检查我是否以一种好的方式编码。
"use strict"
那么,当我向公众发布我的 JavaScript 文件时,我应该包含还是删除使用?
我问的原因是为了节省我的 JavaScript 文件中的空间。
node.js - JSLint,全局禁用规则
如果我通过 NPM 全局安装 JSLint,有没有办法在我的应用程序的当前范围内或在我的系统上全局禁用某些规则?
主要问题是悬空下划线问题。我的意思是,当我使用 __dirname 时,主要出现在 node.js 中,但我相信它也会出现在 underscorejs 中。我已经用 jslint 指令忽略了它,但我认为在我使用下划线的每个文件上都需要这样做有点烦人。
就此而言,我是否需要放置“使用严格”;在每个文件的顶部?
javascript - Web 浏览器对 Javascript 中未定义变量的操作“严格”
如果变量foo
未定义,通常我可以执行以下操作:
但是,我现在正在处理的代码库中有一些东西似乎指示浏览器的解释器对除此之外的未定义变量的任何操作抛出异常:
我正在使用通常使用的浏览器(Chrome 和 Firefox)。但这次我将在中间进行这个项目,而不是从头开始。这是一个使用 Backbone.js、下划线、车把、jQuery、yepnope 的 dJango 项目。
这种行为可能是由于指令"use strict"
出现在全局命名空间中的某处吗?我在项目中搜索了文本字符串“use strict”,并在一些似乎来自 twitter 的代码中找到了它:
我还在 json2 文件中找到了它。但是我很确定这个文件在我上次使用它时没有给我带来问题:
据我所知,这甚至不是由在某处包含“使用严格”引起的......
有任何想法吗?
非常感谢!
javascript - Uncaught SyntaxError: Unexpected token ILLEGAL after code pass jslint“use strict”检查没问题
我的队友提供了以下代码
这是HTML:
它在 Chrome 浏览器中给我一条消息,上面写着:Uncaught SyntaxError: Unexpected token ILLEGAL。消息出现在上面代码的最后一个分号之后。有谁知道出了什么问题。
请注意,当我注释掉行对话框时,它会起作用。那么这与“this”有关吗?
perl - 在 Perl 中,如何在子程序之间共享一个变量,使用严格?
如果我不这样做use strict;
,以下代码可以正常工作并打印出“alice”:
但是,当我这样做时,use strict;
我知道我必须在使用它之前声明变量。我在应该使用our
而不是my
声明全局变量的地方阅读。所以我有以下内容:
然后我收到以下错误:
请帮忙。
jquery - “使用严格”;+ jQuery.getScript() = 脚本不能导出到全局命名空间
假设我有以下脚本,名为include_strict.js
. 执行后我应该window.global1
定义:
但是,如果我从一个 javascript 块中包含它
警报说undefined
。为什么?这里发生了什么?
仅供参考,如果我使用脚本标签包含文件,则不会发生这种情况:
在这里,我看到了预期的警报,object
。如果我删除"use strict";
,那么两者都jQuery.getScript()
具有<script>;
相同的显示效果object
。
我创建了一个示例(https://docs.google.com/file/d/0B-XXu97sL1Ckb0x0OHptTmVMY00/edit)来演示这一点。