use-strict相关内容
..
最近,我通过 Crockford 的 JSLint 运行了一些 JavaScript 代码,但出现以下错误: 第 1 行字符 1 的问题:缺少“use strict"语句. 通过一些搜索,我发现有些人将 "use strict"; 添加到他们的 JavaScript 代码中.添加语句后,错误不再出现.不幸的是,谷歌没有透露这个字符串语句背后的大部分历史.当然,这肯定与浏览器如何解释 J
..
为什么在严格模式下使用 javascript 时匿名函数中的 this 未定义?我明白为什么这有意义,但我找不到任何具体的答案. 示例: (函数(){“严格使用";this.foo = "bar";//*this* 未定义,为什么?}()); 在小提琴中测试:http://jsfiddle.net/Pyr5g/1/检查记录器(萤火虫). 解决方案 这是因为,直到 ECMAscri
..
这是我的代码,似乎表明答案是肯定的- http://jsfiddle.net/4nKqu/ var Foo = function(){“使用严格"返回 {foo:function(){a = 10警报('a ='+ a)}}}()尝试 {Foo.foo()}抓住(e){警报} 能否请您引用标准中的声明,以阐明'use strict'会自动应用于我们已将'use strict'应用到的函数中
..
启用use strict时是否可以查看某个函数的被调用者/调用者? 'use strict'; function jamie (){ console.info(arguments.callee.caller.name); //this will output the below error //uncaught TypeError: 'caller', '
..
我发现了一个有趣的案例,其中"use strict"无法按预期在javascript中工作. 后续功能 "use strict"; var y = () => { console.log(this); } var x = function () { console.log(this); } x(); // undefined due to use strict y();
..
我正在尝试整理我的js文件,并遵循建议的模块模式.当我在这种模式下使用"use-strict"时,一个函数被声明为未定义,没有"use-strict"方法,该函数就可以正常工作.是否建议使用严格模式?如果是,则为什么该功能不能与它一起使用? var envy = (function( $ ) { 'use strict'; /** * Viewport adjusmen
..
//全局范围 “use strict”; // 1 函数A(){ “use strict”; // 2 函数innerA(){ “use strict”; // 3 } } 我只是想知道: 在 // 1 使用严格 $ c>就足够了,或者我们必须在所有地方明确表示,例如 // 2 和 // 3 。 解决方案 在严格模式,
..
我正在创建一个使用require.js for AMD的backbone.js应用程序。为了在浏览器中检查使用严格支持,我已经包含以下代码。但是,当代码运行时, var o = {p:1,P:2} 引发的错误不会像我预期的那样被捕获,而是会被杀死整个页面。 Chrome控制台打印此错误: 未捕获的SyntaxError:严格模式下不允许在对象文字中复制数据属性 require([ '
..
除了使用严格的,还有其他使用指令吗? 解决方案 可以在“指令序言”(JavaScript引擎可能使用的部分)中的更多示例: 'use strict'; 'use asm'; Mozilla的 asm.js 是该语言的一个子集,适用于对于数字运算。 '使用更严格'; Google的SoundScript。对于快速OOP 还有一些模式,如: '使用更严格+类型
..
我是javascript的新手,正在尝试通过JSLint进行验证。 我应该在哪里放“使用严格”来全局使用并验证? 这给了我错误“在语句位置使用严格'的意外表达式。”: “use strict”; console.log('在头部执行js'); 函数helloWorld(){ console.log('called function helloWorld()'); al
..
当我使用jslint验证以下代码时,我收到以下错误。 function displayMegaDropDown(){ “严格使用”; var liMegaPosition,divMegaOffset; liMegaPosition = jQuery(this).position(); divMegaOffset = {top:liMegaPosition.top + jQue
..
“使用严格”;看起来很棒,我们真的很想在我们的商店使用它。但是,我们只是想要它,以便我们(开发人员)可以找到严格性问题;我们非常想在以前工作正常的时候让我们的网站为我们的网站打破。 现在,我们可以使用一些服务器端逻辑来实现这个: {%if debug%}“use strict”; {%endif% } ...除了“use s
..
我试图理解“使用严格”的“这个”的规则;修改如下。 阅读后( http://unschooled.org/2012/03/understanding-javascript-this/ )我最好的猜测是,因为functon isStrictModeOn()没有“附加”到任何东西,所以这是指null 。这被认为是一个更合理的替代Javascript只是将它附加到全局对象。在这种情况下,“使用严格
..
参考: http://ejohn.org/blog/simple-class-instantiation/ // makeClass - 作者John Resig(MIT许可) 函数makeClass(){ 返回函数(args) ){ if(this instanceof arguments.callee){ if(typeof this.init ==“function”) th
..
我已经开始探索Node.js并编写了许多演示Web应用程序,以了解Node.js,Express.js,jade等的流程。 “use strict”作为每个函数内的第一行和每个 .js file。 Node.js究竟解释了什么? 解决方案 “use strict”; 基本上它启用严格模式。 严格模式是一种允许您在“严格”操作环境中放置程序或函数的功能。在严格的操作上
..
我正在使用“使用严格”的函数形式,并且不希望Babel在转换后添加的全局形式。问题是我正在使用一些不使用“use strict”模式的库,并且在脚本连接后可能会抛出错误 解决方案 Babel 5 您将黑名单“useStrict”。例如,这是Gruntfile中的一个示例: babel:{ options:{ blacklist:[ “useStrict”], // ..
..
为什么在严格模式下使用javascript时,匿名函数中的 this 是未定义的?我理解为什么这可能有意义,但我找不到任何具体的答案。 示例: (function(){ “use strict”; this.foo =“bar”; // *这个*未定义,为什么? }()); 小提琴测试: http://jsfiddle.net/Pyr5g/1/ 查看记录器
..
最近,我通过Crockford的 JSLint 运行了一些JavaScript代码,它出现了以下错误: 第1行问题1:缺少“使用严格”声明。 进行一些搜索,我意识到有些人将“use strict”; 添加到他们的JavaScript代码中。一旦我添加了语句,错误就会停止显示。不幸的是,谷歌没有透露这个字符串声明背后的历史。当然它必须与浏览器如何解释JavaScript有关,但我不知道效
..
这段代码在Chrome浏览器以外的所有浏览器中都会显示“ok”: eval(“var outer = 0; function test (){'use strict'; outer = 1;} test(); alert('ok');“); (试一下 jsfiddle )。 我所做的只是引用一个来自'use strict'函数,全部在 eval 上下文中。 C
..