草庐IT

FP-strict

全部标签

javascript "use strict"和尼克的查找全局函数

所以我看到了一个函数,坦率地说,它的简单性非常漂亮,因为它允许您在匿名函数中找到全局对象(这取决于当时的环境,可能不是window);但是,当您抛出javascripts的“使用严格”时;由于对关键字“this”的评估发生变化,模式崩溃了。有几种方法可以做到这一点?(function(){varwin=function(){return(function(){returnthis;}());};//winnowpointstotheglobalobjectnomatterwhereitiscalled.}());现在,如果在“usestrict”的上下文中调用这些,我们将失去所描述的功

javascript - 将 jQuery 与 'use strict' 结合使用的正确方法是什么?

如果我有类似下面的内容"usestrict";$(document).ready(function(){});我收到警告'$'isnotdefined 最佳答案 (function($){'usestrict';$(document).ready(function(){console.log('working!')})}(jQuery)) 关于javascript-将jQuery与'usestrict'结合使用的正确方法是什么?,我们在StackOverflow上找到一个类似的问题:

javascript - 在 Node 中运行时制作 mocha "use strict"

有没有办法让Mocha在node上运行时以严格模式运行测试?通常您可以通过运行node--use_strict在Node中启用此功能。有没有办法为mocha做同样的事情? 最佳答案 将--use_strict添加到mocha命令。所以你的命令可能是这样的:mocha./test--recursive--use_strict 关于javascript-在Node中运行时制作mocha"usestrict",我们在StackOverflow上找到一个类似的问题:

javascript - 如何在 Node.js 4.0+ 中跳过使用 "use strict"?

使用"usestrict"允许在JavaScript代码中支持ES6特性,Node4.0支持。但是,将它放在每个后端代码文件的开头是很麻烦的。有没有一种方法可以将Node配置为假设“usestrict”始终在应用程序中使用? 最佳答案 您可以将--use_strict命令行选项传递给node命令。这会将您的所有代码视为处于严格模式。或者,您可以使用包https://www.npmjs.com/package/use-strict.这样您就不必每次都提供命令行参数。 关于javascrip

javascript - Babel/Karma/Chai 给出 TypeError : 'caller' , 'callee' 和 'arguments' properties may not be accessed on strict mode functions

我无法弄清楚为什么这个测试没有通过。varexpect=require('chai').expect;describe('HelloComponent',function(){it('passesaquitesimpletest',function(){expect(1+4).to.equal(5);});});产生这个错误:DEBUG[web-server]:serving:/Users/ivan/dev/react-starter/node_modules/karma/static/context.htmlDEBUG[web-server]:serving(cached):/Use

javascript - 'use strict' 和 underscore.js 问题

我使用Yeoman和backbone.js编写了一个应用程序。在每个js文件的顶部,我都指定了'usestrict';当我运行我的grunt任务时,jshint没有遇到任何错误。我可以毫无问题地使用grunt构建我的应用程序,但是当我尝试运行丑陋的js时,我收到以下错误:UncaughtSyntaxError:Strictmodecodemaynotincludeawithstatement我搜索了代码库,唯一使用with语句的是下划线。我是严格模式的新手,所以我不确定如何解决这个问题。我可以在使用underscorejs函数的任何地方不使用严格模式吗?谢谢。编辑:给出下面的代码示例(

javascript - FP 替代 JavaScript/ReactJS 中的多态性

我目前正在做一个ReactJS项目,我需要创建“可重复使用”的组件,其中一些方法需要被“覆盖”。在OOP中,我会使用多态性。我读过一些书,似乎共识是使用HoC/composition,但我不太清楚如何实现这一点。我想如果我可以使用组合获得一个ES6示例,那么之后将这个想法应用到ReactJS可能会更容易。下面是一个ES6OOP示例(忽略事件处理,它只是为了测试)几乎是我想在ReactJS中实现的。有没有人对如何将ReactJS组件分解为HoC有一些指导,或者甚至只是演示我将如何根据示例在ES6中使用组合?classTransferComponent{constructor(){lett

javascript - UglifyJS 'use strict' 语句

我正在使用Grunt连接grunt-contrib-uglify任务来缩小我应用程序中的JavaScript。缩小后,它会删除除第一个语句之外的所有'usestrict'语句,因此我得到了一个巨大的JavaScript文件,顶部有'usestrict'指令。问题是全局'usestrict'指令使浏览器以“严格模式”执行我在项目中使用的每个库的代码,这会导致错误,因为不是每个第3方代码都是为严格模式编写的。关于如何解决这个问题的任何想法? 最佳答案 如果你用IIFE包裹你所有的脚本然后grunt-contrib-uglify不会将该语

javascript - 如何使用 JSLint 全局设置 'use strict'

我是javascript的新手,正在尝试通过JSLint进行验证。我应该把“usestrict”放在哪里才能在全局范围内使用它并进行验证?这给了我错误“语句位置中的意外表达式‘usestrict’。”:"usestrict";console.log('doingjsinhead-section');functionhelloWorld(){console.log('calledfunctionhelloWorld()');alert('HelloWorldfromaJSfunctionshowinganalert!');}functionhelloMyNumber(){console.

javascript - "use strict"导致未定义的错误

我在我的JavaScript中定义了以下函数:function_snr(id){"usestrict";this.e="something";}我通过JSLint运行我的代码,它建议我向函数添加“usestrict”。当我执行e时,现在会抛出未定义的错误。从一些初步调查来看,似乎不再定义用于引用_snr的this。我读过“usestrict”,发现它用于防止不安全的做法。有人可以解释一下这有什么不安全的地方吗?“usestrict”实际上在做什么,我该如何修复我的代码? 最佳答案 如果一个函数被调用时没有设置它的this,在非严格模