草庐IT

CALL_NON_FUNCTION_AS_CONSTRUCTOR

全部标签

javascript - 为什么 Jest 不会运行? "TypeError: environment.setup is not a function"

真的在这里战斗。MyCircleCI测试失败了FAIL./App.test.js●TestsuitefailedtorunSyntaxError:Unexpectedtoken)我尝试在我的机器(CRNA机器)上本地运行Jest,但出现以下错误:TypeError:environment.setup不是函数所以这两个似乎都是Node版本/ES6/babel问题,对吧?我之前遇到过一些错误(Pathwasexpectingstring等),我通过安装jest-cli和更改Node版本等解决了这些错误。我现在在:Nodev8.9.1npm5.5.1但现在我完全被难住了。所以:TypeErr

javascript - 扩展挑战 : preprocessor function macros and class-like oop

背景我一直在使用C预处理器来管理和“编译”具有多个文件和构建目标的半大型javascript项目。这允许从javascript中完全访问C预处理器指令,如#include、#define、#ifdef等。这是一个示例构建脚本,因此您可以测试示例代码:#!/bin/bashexportOPTS="-DDEBUG_MODE=1-Isrc"forFILEin`findsrc/|egrep'\.js?$'`doecho"Processing$FILE"cat$FILE\|sed's/^\s*\/\/#/#/'\|cpp$OPTS\|sed's/^[#:build/`basename$FILE`

javascript - 构造函数 : var X = function (){}, var X = function X(){} 和 function X(){} 的区别

这个问题在这里已经有了答案:varfunctionName=function(){}vsfunctionfunctionName(){}(41个回答)关闭8年前。我现在正在调试别人的代码,当他在这两种模式下定义构造函数时,我感到很困惑。两者之间有什么特别之处吗?//constructor1varMyObject=function(){};//constructor2varMyObject=functionMyObject(){};另外,像这样创建一个函数有什么效果。functionMyObject(){};我只是在查看每个的特定用例。

javascript - React 中的 Constructor(props) 和 super(props) VS constructor() 和 super()

我知道这个问题被问过很多次了,但还是不清楚。很多人只是说:Passpropstoconstructorifyouwanttoaccessthis.propsthereonemoreexampleoftheanswer官方文档说Classcomponentsshouldalwayscallthebaseconstructorwithprops.,但如果我们不将props传递给constructor,除了构造函数之外,我们仍然会在任何地方都有this.props。同样来自reactsourcecode我们可以看到React.Component的源代码函数ReactComponent(pro

javascript - this.someFunction.call(this, param); 的目的是什么?

我在很多地方都遇到过一些具有这种模式的代码:this.someFunction.call(this,param);但在我看来这只是一种更冗长的打字方式this.someFunction(param)该模式有时会出现在作为回调提供的函数中。如果相关的话,它恰好使用了Backbone。像这样:Backbone.View.extend({//otherstuff...someFunction:function(param){//...},anotherFunction:function(){this.collection.on("some_event",function(){this.som

javascript - 直接在函数声明上使用 function.prototype.bind

为什么允许这样做?varf=function(){console.log(this.x);}.bind({x:1})();为什么这不是或更好,为什么我在这种情况下会出现语法错误?functionf(){console.log(this.x);}.bind({x:1})();那么,为什么我需要函数表达式语法来完成这项工作,有没有办法直接在函数声明上使用bind方法? 最佳答案 第二个示例有效,但语法略有偏差:将函数括在括号中。我不得不说我不完全确定为什么。好像没有parent也行吧?:P(functionf(){console.log

javascript - Ionic 2 构建开发失败 : Maximum call stack size exceeded

我无法构建我的ionic2应用程序。更改文件后服务有效。在ionic服务上,我收到以下错误消息:[07:36:10]ionic-app-scripts1.0.0[07:36:10]watchstarted...[07:36:10]builddevstarted...[07:36:10]cleanstarted...[07:36:10]cleanfinishedin1ms[07:36:10]copystarted...[07:36:10]transpilestarted...[07:36:15]builddevfailed:Maximumcallstacksizeexceeded[07:

javascript - new super.constructor 是 JavaScript 中的有效表达式吗?

我想知道newsuper.SomeProperty形式的表达式在JavaScript中是否有效。这个问题是在处理跨浏览器行为不一致的代码时出现的,例如下面代码片段中的示例。classTest{test(){returnnewsuper.constructor;}}console.log((newTest).test());这会在Firefox和Edge中打印一个空对象,但会在Chrome中抛出一个ReferenceError并在Safari中抛出一个SyntaxError。通过在super.constructor周围加上括号或使用变量可以很容易地避免该错误,因此这不是真正的限制,而是对

javascript - "Call stack"和 JavaScript 中的 "Execution context stack"一样吗?

我经常在很多文章中看到“调用堆栈”。像这样:https://hackernoon.com/understanding-js-the-event-loop-959beae3ac40#ec22但是在ECMAScript文档中找不到“调用堆栈”。“调用堆栈”是否与“Executioncontextstack”相同? 最佳答案 СallStack和ExecutionStack是同一事物的不同名称。它是一个LIFO堆栈,用于存储在代码执行期间创建的执行上下文。维基百科说:“这种堆栈也称为执行堆栈、程序堆栈、控制堆栈、运行-时间堆栈,或机器堆栈

javascript - 使用: and => for the return type with a TypeScript function?有什么区别

我有以下代码:///functionaddThemePrototypes(){vartemplateSetup=newArray();$.fn.addTemplateSetup=function(func,prioritary){if(prioritary){templateSetup.unshift(func);}else{templateSetup.push(func);}};}有人能告诉我为什么要用=>void来声明吗?interfaceJQuery{addTemplateSetup:(func:Function,priority:bool)=>void;}我想我对如何从java