做平面的公司网站,淘宝客做网站备注怎么写的,网站跳出率太高,太原seo关键词优化严格模式#xff08;即在JavaScript源文件的开头包括 use strict#xff1b;#xff09;是一种自愿在运行时对JavaScript代码执行更严格的解析和错误处理的方式#xff0c;同时也使它更安全。
但是#xff0c;不使用严格模式本身并不是一个 严格模式即在JavaScript源文件的开头包括 use strict是一种自愿在运行时对JavaScript代码执行更严格的解析和错误处理的方式同时也使它更安全。
但是不使用严格模式本身并不是一个 错误但它的使用越来越受到鼓励不使用也越来越被认为是不好的形式。
以下是严格模式的一些主要好处 使得调试更容易。原本会被忽略或无感知的代码错误现在会产生错误或抛出异常提醒我们更快地发现代码库中的JavaScript问题并引导更快地找到其来源。 防止意外的全局变量。在没有严格模式的情况下给一个未声明的变量赋值会自动创建一个具有该名称的全局变量。这是最常见的JavaScript错误之一。在严格模式下试图这样做会产生一个错误。 消除this 强迫性。在没有严格模式的情况下对 null 或 undefined 的 this 值的引用会自动被强制到全局。在严格模式下引用null或undefined的this值会产生错误。 不允许重复的属性名或参数值。严格模式在检测到一个对象中的重复命名的属性例如var object {foo: bar, foo: baz};或一个函数的重复命名的参数例如function foo(val1, val2, val1){}时抛出一个错误从而捕捉到你的代码中几乎肯定是一个错误否则你可能会浪费很多时间去追踪。 使得eval()更加安全。eval()在严格模式和非严格模式下的行为方式有一些不同。最重要的是在严格模式下在eval()语句中声明的变量和函数不会在包含的范围内创建。(在非严格模式下它们是在包含域中创建的这也可能是JavaScript问题的一个常见来源)。 在无效使用delete的情况下抛出错误。delete 操作符用于从对象中删除属性不能用于对象的非可配置属性。当试图删除一个不可配置的属性时非严格的代码将无声地失败而严格模式在这种情况下将抛出一个错误。
代码部署后可能存在的BUG没法实时知道事后为了解决这些BUG花了大量的时间进行log 调试这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
来源www.toptal.com/javascript/…