问题标签 [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.

0 投票
1 回答
1882 浏览

mysqli - 自定义 mysqli 类与 php 5.4 有错误?

我刚刚将我的网络服务器升级到 php 5.4,并且在使用从内置 mysqli 扩展的数据库类的网站上遇到错误。错误出现在我班级的最后一行,尽管出现错误消息,但一切正常......

错误信息:

课程是:

0 投票
1 回答
568 浏览

javascript - 使用“使用严格”和变量范围

我最近开始使用"use strict"我的脚本。我注意到的行为之一就是这个。[name of variable]不适用于对象。例如:

似乎严格的 js 不再允许它了。为什么要删除这个?有什么缺点吗?

0 投票
3 回答
813 浏览

file - 确保文件及时关闭

我正在编写一个守护进程,它从一个小文件中读取一些内容,对其进行修改,然后将其写回同一个文件。在尝试写入之前,我需要确保每个文件在阅读后立即关闭。我还需要确保每个文件在写入后立即关闭,因为我可能偶尔会立即再次读取它。

我已经研究过使用二进制严格而不是二进制,但似乎只提供严格的 Get,而不是严格的 Put。System.IO.Strict 也有同样的问题。通过阅读二进制严格文档,我不确定它是否真的解决了我确保文件被及时关闭的问题。处理这个问题的最佳方法是什么?深度序列?

这是一个高度简化的示例,可以让您了解我的应用程序的结构。这个例子以

出于显而易见的原因。

0 投票
1 回答
2243 浏览

javascript - 无法在严格模式下创建对象属性

如果我使用严格模式,则以下代码不起作用。它在 this.bar = 'foobar'; 上失败了 线。为什么会这样?如何在严格模式下创建对象属性?

编辑: 感谢 James Allardice 指出问题。我错误地认为自执行函数正在创建一个对象,但事实并非如此。我需要执行以下操作之一:

或者(这个 JSLint 更喜欢)

0 投票
2 回答
8321 浏览

haskell - seq 函数和严格性

我一直想知道这个很多,但我一直无法找到任何关于它的东西。

使用该seq功能时,它是如何真正起作用的?到处都只是解释说seq a b评估a,丢弃结果并返回b

但这究竟意味着什么?以下是否会导致严格的评估:

我的意思是,q在使用之前经过严格评估bar?并且以下内容是否等效:

我发现很难获得有关此功能的功能的详细信息。

0 投票
2 回答
847 浏览

javascript - JavaScript 的严格模式是如何实现的

更新:

也许函数被调用的方式是罪魁祸首,所以这里是它:

2 个 JS 文件
  Main.js:自调用(非严格)函数,为“(on)load”事件添加事件侦听器。
回调调用加载器函数,该函数解析 location.pathname,并调用 init 函数,并分离/删除“(on)load”侦听器并返回 null(显式)。

  PageSpecific.js:包含 _init 函数,在正文中添加了几个事件侦听器。
这些侦听器之一的回调(也从闭包返回)调用使用 argument.callee 作为递归引用的严格函数。
返回事件处理程序的闭包可能 - 取决于浏览器 - 或者可能不绑定和取消绑定其他事件,但我认为这无关紧要,因为这是模仿 IE <9 中的 onchange 事件

我希望这是相当清楚的,所以它:
anon。F => eventlistener
             => 处理程序(命名但在匿名 F 中声明) => pageloader =>
                  init =>
                  闭包返回的 eventListener 绑定函数
                      =>调用严格函数

顺便说一句:这是我实际使用的被调用函数的精简版本。_init更具体地说:将事件侦听器和 - 处理程序绑定在一起的闭包。这是我的另一个冗长的问题,似乎没有人知道答案......提示;-)


我正在调试一些相当大(和复杂)的 JavaScript。在这样做时,我注意到我有一个函数,使用严格模式可以正常工作,但如果我没记错的话,应该抛出错误。由于脚本相当庞大和复杂(事件委托、堆叠闭包等),这里有一个简单的例子:

在我的实际脚本中,这工作得很好。但是,当我将其粘贴到 Firebug 和 chrome 控制台中时,会引发错误。我在这里试过这段代码,所以 IE 也应该抛出错误,但是当我在 IE 的调试器中运行代码时,它工作得很好。据我所知,更改文档类型(尝试过 html5 和 html4)没有任何区别。

我认为(大多数)浏览器对'use strict';指令的要求并不像它的名字所暗示的那样严格吗?当解析脚本时检测到可能的错误时,浏览器似乎选择忽略它。这是真的?


同时,出于谨慎起见,我对功能做了些微改动。由于我在这里看到很多人想知道如何以callee严格模式获取参考,因此我也将其粘贴在这里:

命名回调,仅此而已。

0 投票
4 回答
2542 浏览

mamp - MAMP php5 严格标准

我正在尝试在 mamp 的 php.ini 中将 error_reporting 设置为 E_ALL 和 ~E_STRICT。

但这根本没有受到影响。我通过设置不同的error_reporting(如E_NOTICE)确认我正在编辑正确的文件,并检查了phpinfo以验证相同。

但只有 ~E_STRICT 没有发生。

当我访问我的 cms(concrete5)时,它给了我一个严格错误列表(粘贴下面的前几个):

严格标准:非静态方法 Cache::key() 不应在第 117 行的 www/concrete/libraries/cache.php 中静态调用

严格标准:不应在第 121 行的 www/concrete/libraries/cache.php 中静态调用非静态方法 Cache::getLibrary()

试图在 .htaccess 和 index.php 文件中将 error_reporting 设置为 E_ALL & ~E_STRICT。没有工作。

请解决。

0 投票
1 回答
2037 浏览

cross-browser - 我可以强制 IE9 进入 Internet Explorer 9 标准模式吗

当我浏览一个站点时,我的 IE9 设置为 Quirks 模式:

我把我的标题的网站http-equiv="X-UA-Compatible" content="IE=edge,chrome=1,但没有任何改变。

我的文档类型是“严格”。

请帮帮我 :(

0 投票
2 回答
120 浏览

regex - 根据列号应用面颜色

有所谓的严格格式,例如pdb - 其中符号的含义由符号的列号定义。例如,这里是上述 pdb 格式的规范。

有没有办法可以根据列范围应用面部颜色?

通常可以通过以下方式添加要突出显示的正则表达式,例如对于当前会话:

那么有没有办法在列上指定那个面,比如 7-11 - 应该是,比如 - 红色?

编辑

所以答案是:

0 投票
1 回答
123 浏览

c# - 更严格的 XmlSerializer 不允许未使用的节点

我使用 SDK 中的 xsd.exe 工具生成了基于 XSD 的 C# 类。然后我可以使用该类使用 XmlSerializer [反]序列化对象......但是序列化器似乎非常宽容。

如果缺少属性或“奇怪”的 XML 节点,我是否可以让序列化程序抛出异常?

我认为一种方法是修改属性的设置器并使其验证数据(或使用 XSD 验证)......但是对于这个问题还有其他替代解决方案吗?