草庐IT

function-prototypes

全部标签

javascript - Meteor:为什么将 function() { } 切换为 () => { } 会丢失我的数据上下文?

所以我正在试验ES6,安装了grigio:babel包,并开始检查我的es5代码并在遇到问题时将其更新为一些新的ES6语法。最初我的模板助手看起来像这样:Template.exampleTemplateName.helpers({exampleHelper:function(){//returnsanarrayfromMongoCollection}});在Blazeeach循环中使用{{#eachexampleHelper}}{{/each}}如您所料,我在这个事件循环中的元素的所有事件处理程序都可以访问exampleHelper通过this关键字。this.exampleField

javascript - 从构造函数中将方法附加到原型(prototype)

这是描述JavaScript中“类”或构造函数的教科书标准方法,直接来自JavaScript权威指南:functionRectangle(w,h){this.width=w;this.height=h;}Rectangle.prototype.area=function(){returnthis.width*this.height;};我不喜欢这里的悬空原型(prototype)操作,所以我试图想办法将area的函数定义封装在构造函数中。我想到了这个,但我不期望它能工作:functionRectangle(w,h){this.width=w;this.height=h;this.con

javascript - 更改 window.location 原型(prototype)以禁用某些重定向?

我正在尝试使用Greasemonkey在文档的开头有选择地禁用window.location。我不想完全禁用javascript,只是禁用一些使用javascript完成的重定向。它们看起来像这样:window.location="unwantedurl"; 最佳答案 我认为这是不可能的。您不能覆盖window.location上的属性或方法(静默失败)你不能用location.__proto__=Something.prototype重新定义它的原型(prototype)location.constructor.prototype

Javascript:typeof 说 "function"但它不能作为函数调用

这次我真的对Javascript很困惑:varx=Array.prototype.concat.call;typeofx;//functionx();//UncaughtTypeError:xisnotafunction这到底是怎么回事?如果有帮助,我还注意到:x([1,2],[3,4])也不行toString也认为是一个函数:Object.prototype.toString.call(x);//"[objectFunction]"Array.prototype.concat.apply也会发生这种情况。当它被强制作为一个表达式时它也不起作用:(0,Array.prototype.c

javascript - "prototype"的反义词是什么?

考虑以下几点:varo={foo:'bar'};varp=Object.create(o);如果o是p的原型(prototype),那么p相对于o是什么? 最佳答案 我不知道对于原型(prototype)是另一个对象的对象的正式术语是否有任何广泛的共识,但恕我直言,术语派生对象是可以接受的。原型(prototype)继承的要点是一个对象继承自另一个对象,或者派生自另一个对象。在一些经典的OO语言中,例如C++,您会听到术语派生类,因为类继承自其他类。因为在原型(prototype)语言中继承是对象之间的,所以我会说“派生对象”是有道

javascript - 使用装饰器将属性分配给非原型(prototype)

我正在构建前端/后端数据结构之间的简单映射。为此,我创建了一个如下所示的装饰器:functionApiField(apiKey:string,setFn:(any)=>any=(ret)=>ret,getFn:(any)=>any=(ret)=>ret){returnfunction(target:AbstractModel,propertyKey:string){target.apiFieldsBag=target.apiFieldsBag||{};_.assign(target.apiFieldsBag,{[propertyKey]:{apiKey:apiKey,setFn:set

javascript - 未捕获的类型错误 : lang is not a function

这个问题在这里已经有了答案:JSfunctionnamed`animate`doesn'tworkinChrome,butworksinIE(3个答案)关闭6年前。在我的HTML中,我在script标签中定义了lang函数并添加了“TestFire!”单击时必须调用lang的按钮:TestingFunctionsfunctionlang(){alert("Hello,World!It'sJavaScriptthistime");}但是,如果我点击按钮,我会得到这个错误:UncaughtTypeError:langisnotafunction但是,如果我将函数名称从lang更改为任何其他

javascript - 类型错误 : scrollIntoView is not a function

我是react-testing-library/jest的新手,正在尝试编写测试以查看路由导航(使用react-router-dom)是否正确执行。到目前为止,我一直在关注README还有这个tutorial关于如何使用。我的一个组件在本地函数中使用了scrollIntoView,这导致测试失败。TypeError:this.messagesEnd.scrollIntoViewisnotafunction45|46|scrollToBottom=()=>{>47|this.messagesEnd.scrollIntoView({behavior:"smooth"});|^48|}49|

javascript - TypeError [ERR_INVALID_ARG_TYPE] : The "original" argument must be of type Function. 接收类型未定义

在下面的代码中,我得到了这个错误:TypeError[ERR_INVALID_ARG_TYPE]:The"original"argumentmustbeoftypeFunction.Receivedtypeundefinedconstsqlite3=require('sqlite3').verbose();constutil=require('util');asyncfunctiongetDB(){returnnewPromise(function(resolve,reject){letdb=newsqlite3.Database('./project.db',(err)=>{if(e

javascript - 为什么 Math.prototype 未定义?

我一定是遗漏了什么,因为Math.prototype是undefinedforme.为什么是这样?我试图做这样的事情:Math.prototype.randomRange=function(from,to){returnMath.floor(Math.random()*(to-from+1)+from);}而是不得不做这样的事情:Math.randomRange=function(from,to){returnMath.floor(Math.random()*(to-from+1)+from);}不过,这感觉不对。只是我还是我应该以另一种方式这样做?如果这是一个愚蠢或重复的问题,我深表