运行以下简单代码会导致“严重违规”。错误信息。我一直在尝试查找有关原因以及如何修复它的文档。任何输入将不胜感激。错误:Error:Problematline6character4:Strictviolation.}(this));示例代码:/*jslintbrowser:true,onevar:true,undef:true,nomen:true,eqeqeq:true,plusplus:true,bitwise:true,regexp:true,strict:true,newcap:true,immed:true*/"usestrict";(function(window){}(th
我无法理解为什么在严格模式下,当delete用于非限定标识符时会发生语法错误。在大多数情况下,这是有道理的...如果您以通常的方式使用var关键字声明变量,然后尝试对它们使用delete,在非严格模式下,它会悄无声息地失败,因此在这些情况下,严格模式因错误而失败是有意义的。但是,有些情况下您不能删除合格的标识符:(function(){//"usestrict";varobj=Object.create({},{bloop:{configurable:false}});deleteobj.bloop;//throwsTypeErrorinstrictmode,silentlyfails
我需要将当前函数名称作为字符串记录到我们的日志工具中。但是arguments.callee.name只能在松散模式下工作。如何获取"usestrict"下的函数名? 最佳答案 为了记录/调试目的,您可以在记录器中创建一个新的Error对象并检查其.stack属性,例如functionlogIt(message){varstack=newError().stack,caller=stack.split('\n')[2].trim();console.log(caller+":"+message);}functiona(b){b()}a
这不会在严格模式下通过JSLint:"usestrict";(function(w){w.alert(w);}(window));来自jslint.com的错误看起来像这样:第4行字符3的问题:未定义“窗口”。}(window));隐式全局:窗口4我需要告诉JSLint忽略错误,还是我真的做错了什么? 最佳答案 尝试添加以下内容:/*jslintbrowser:true*//*globalwindow*/(或选中假设浏览器复选框)。第一行添加一般浏览器支持。第二行将window声明为全局变量。来自文档:Thebrowseroptio
“使用严格”;看起来很棒,我们真的很想在我们的店里使用它。但是,我们只是想要它,以便我们(开发人员)可以找到严格性问题;我们非常不想让我们的网站在之前运行良好时为我们的实际客户中断。现在,我们可以使用一些服务器端逻辑来实现这一点:{%ifdebug%}"usestrict";{%endif%}...除了“usestrict”在逐个文件的基础上运行,所以这实际上不起作用(好吧,除非我们开始服务器端处理我们所有的JS文件)。所以,我的问题是:在页面加载时执行所有“使用严格”检查以获取检查,或者“使用严格”是否有可能在页面加载后发现错误?如果是前者,我们可以只使用“usestrict”而不必
如果您编写如下代码,PHP警告“严格标准:x的声明应与y兼容”会警告您:classA{functionfoo($x){..}}classBextendsA{functionfoo(){..}}这是明智的,因为像“$a”这样的对象引用,您认为它是A,但在运行时可能会变成B,因此像$a->foo(3)这样的动态调度方法调用可能最终调用B::foo()时使用了错误数量的参数。我的问题是:为什么同样的警告适用于不是动态调度的静态方法?classX{staticfunctionbar($x){..}}classYextendsX{staticfunctionbar(){..}}在这个例子中,函数
在Magento1.7.0.2中安装SUPEE-10975后,我收到此PHP通知:StrictNotice:DeclarationofMage_Core_Controller_Request_Http::getBaseUrl()shouldbecompatiblewiththatofZend_Controller_Request_Http::getBaseUrl()inapp/code/core/Mage/Core/Controller/Request/Http.phponline36#0app/code/core/Mage/Core/Controller/Request/Http.p
我制作了这个小脚本,但我无法得到这个错误:严格的标准:只有变量应该在C:\xampp\htdocs\includes\class.IncludeFile.php中第34行通过引用传递!这是页面:namespaceCustoMS;if(!defined('BASE')){exit;}classIncludeFile{private$file;private$rule;function__Construct($file){$this->file=$file;$ext=$this->Extention();switch($ext){case'js':$this->rule='file.'">
是否可以更改我的PHP应用程序使用include或require_once包含的文件的错误报告级别(关闭E_STRICT)?我希望能够看到我的代码中出现的严格通知,但我使用的是PEARMDB2,当我打开E_STRICT时,我会从该代码中获得警告页面。我知道可以使用.htaccess文件在每个目录的基础上更改error_reporting,但我认为这不适用于包含的文件。我试着把它放在pear文件夹中,但它什么也没做。 最佳答案 你可以defineacustomerrorhandler,并使用$errfile参数来确定错误的来源。如果该
我在一个小项目中使用PHP7,也在我的本地和生产服务器中使用相同的配置。一切都在我的本地服务器上工作,但在为LAMP设置后在生产服务器上,我无法在/etc/php/7.0/apache下找到apache文件夹,所以我遇到了内部服务器错误,所以我在apache中添加了.confPHPINIDir/path/to/new/php_ini然后内部服务器错误消失了,现在我得到了这个:Warning:Unsupporteddeclare'strict_types'in/var/www/html/index.phponline2知道为什么!!提前致谢 最佳答案