问题标签 [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.
mysqli - 自定义 mysqli 类与 php 5.4 有错误?
我刚刚将我的网络服务器升级到 php 5.4,并且在使用从内置 mysqli 扩展的数据库类的网站上遇到错误。错误出现在我班级的最后一行,尽管出现错误消息,但一切正常......
错误信息:
课程是:
javascript - 使用“使用严格”和变量范围
我最近开始使用"use strict"
我的脚本。我注意到的行为之一就是这个。[name of variable]
不适用于对象。例如:
似乎严格的 js 不再允许它了。为什么要删除这个?有什么缺点吗?
file - 确保文件及时关闭
我正在编写一个守护进程,它从一个小文件中读取一些内容,对其进行修改,然后将其写回同一个文件。在尝试写入之前,我需要确保每个文件在阅读后立即关闭。我还需要确保每个文件在写入后立即关闭,因为我可能偶尔会立即再次读取它。
我已经研究过使用二进制严格而不是二进制,但似乎只提供严格的 Get,而不是严格的 Put。System.IO.Strict 也有同样的问题。通过阅读二进制严格文档,我不确定它是否真的解决了我确保文件被及时关闭的问题。处理这个问题的最佳方法是什么?深度序列?
这是一个高度简化的示例,可以让您了解我的应用程序的结构。这个例子以
出于显而易见的原因。
javascript - 无法在严格模式下创建对象属性
如果我使用严格模式,则以下代码不起作用。它在 this.bar = 'foobar'; 上失败了 线。为什么会这样?如何在严格模式下创建对象属性?
编辑: 感谢 James Allardice 指出问题。我错误地认为自执行函数正在创建一个对象,但事实并非如此。我需要执行以下操作之一:
或者(这个 JSLint 更喜欢)
haskell - seq 函数和严格性
我一直想知道这个很多,但我一直无法找到任何关于它的东西。
使用该seq
功能时,它是如何真正起作用的?到处都只是解释说seq a b
评估a
,丢弃结果并返回b
。
但这究竟意味着什么?以下是否会导致严格的评估:
我的意思是,q
在使用之前经过严格评估bar
?并且以下内容是否等效:
我发现很难获得有关此功能的功能的详细信息。
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
严格模式获取参考,因此我也将其粘贴在这里:
命名回调,仅此而已。
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。没有工作。
请解决。
cross-browser - 我可以强制 IE9 进入 Internet Explorer 9 标准模式吗
当我浏览一个站点时,我的 IE9 设置为 Quirks 模式:
我把我的标题的网站http-equiv="X-UA-Compatible" content="IE=edge,chrome=1
,但没有任何改变。
我的文档类型是“严格”。
请帮帮我 :(
c# - 更严格的 XmlSerializer 不允许未使用的节点
我使用 SDK 中的 xsd.exe 工具生成了基于 XSD 的 C# 类。然后我可以使用该类使用 XmlSerializer [反]序列化对象......但是序列化器似乎非常宽容。
如果缺少属性或“奇怪”的 XML 节点,我是否可以让序列化程序抛出异常?
我认为一种方法是修改属性的设置器并使其验证数据(或使用 XSD 验证)......但是对于这个问题还有其他替代解决方案吗?