草庐IT

function-prototypes

全部标签

javascript - 我什么时候应该在 JavaScript 中使用 "prototype"

我用JavaScript/JQuery进行了大量编程。但我从未使用过“原型(prototype)”。事实上,我不知道这是什么意思。你有什么实用的例子吗? 最佳答案 最简单的例子:functionFoo(){this.bar=function(){return42;}}现在您可以根据需要创建任意数量的Foo实例并调用bar():vara=newFoo();varb=newFoo();尽管两个对象都有bar()方法,在这两种情况下完全相同,但它们是不同的方法。事实上,每个新的Foo对象都会有这个方法的一个新副本。另一方面:functio

Javascript 和函数原型(prototype)赋值

我一直假设一个函数的原型(prototype)在所有对象之间共享,在某种意义上是通过引用。因此,如果您更改原型(prototype)属性的值,则共享该原型(prototype)的所有对象的值也会更改。因此,例如下面的例子,它似乎不是在所有对象之间共享的属性栏,而是被复制的。这是正确的吗?构造函数原型(prototype)的属性是在创建时简单地复制到所有类对象,还是通过链接共享?functionfoo(){this.bar=1;}functionderived(){}derived.prototype=newfoo()object1=newderived()object2=newderi

javascript - 使用 Backbone 样式的原型(prototype)继承时防止无限递归

我正在使用从Backbone改编而来的扩展函数(除了为符合我雇主的命名约定而进行的一些更改外,它们完全相同)来实现原型(prototype)继承。设置以下结构后(下面大大简化)我得到一个无限循环。Graph=function(){};Graph.extend=myExtendFunction;Graph.prototype={generateScale:function(){//dostuff}}//baseclassdefinedelsewhereUsageGraph=Graph.extend({generateScale:function(){this.constructor._s

javascript - 理解函数的原型(prototype)属性

举个例子如果varFunc=function(){}这里的Func有一个名为prototype的属性,我可以像下面这样添加我的自定义方法。Func.prototype.move=function(){//dosomething}根据我的理解,原型(prototype)只是Func的另一个属性,它默认由解释器提供,不用于委托(delegate)任何功能,即。没有什么比Func.move()应用相同的逻辑,我正在创建相同功能的另一个属性,如下所示Func.method=function(){//dosomething}现在如果创建一个新对象varobj=newFunc();这里有obj.m

javascript - 我们是否仍然需要 ES6 中的原型(prototype)来让所有类实例共享一个方法副本?

更新2:这个问题一团糟,因为我认为ES6class不会修改.protototype,而它会,因此这正是我想要。我接受了最广泛的答案,即使所有的答案和评论应该在一开始就为我指明了正确的方向:)谢谢大家!旧的:在ES6之前的旧JS中,当我们学习如何创建“类”时:functionX(){this.foo=function(){}};varx=newX();我们还知道,每次我们执行x=newX();时,我们都会得到“foo”方法的副本,在每个实例中这是其中之一使用原型(prototype)是个好主意的原因。现在,在ES6中我们有了这个新的很酷的类语法,但有相同的“问题”,即这里复制了“f”方法

javascript - 未处理的 promise 拒绝警告 : This error originated either by throwing inside of an async function without a catch block

我的Node-Express应用出现以下错误UnhandledPromiseRejectionWarning:Unhandledpromiserejection.Thiserrororiginatedeitherbythrowinginsideofanasyncfunctionwithoutacatchblock,orbyrejectingapromisewhichwasnothandledwith.catch().(rejectionid:4)至少可以说,我创建了一个看起来像这样的辅助函数constgetEmails=(userID,targettedEndpoint,headerA

JavaScript 符号 : (function() { . .. } )();

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhatisthepurposeofwrappingwholeJavascriptfilesinanonymousfunctionslike“(function(){…})()”?大家好,我见过几个使用这种表示法的JavaScript文件:JavaScript文件的开始:(function(){//Allfunctionsgohere.//Cansomeonesaywhatthewrappingnamelessfunctionisusedfor?})();还有原型(prototype)库,这似乎是可能的:fu

javascript - NodeJs 使用 ExpressJs : TypeError: string is not a function at Function. app.render

我刚开始学习Node,我正在尝试使用Node和Express构建Web应用程序。我的app.js文件中有以下代码,具有以下目录结构。目录结构:appassetscontrollermodelviewindex.jadeglobalnode_modulesapp.jspackage.json-js-varexpress=require('express');varapp=express();app.configure(function(){app.set('view',__dirname+'/app/view');app.set('viewengine','jade');app.use(

javascript - 类型错误 : getState is not a function when adding middleware to Redux

在我的configureStore.dev.js文件中使用此代码,在添加applyMiddleware(reduxImmutableStateInvariant)时,我得到一个UncaughtTypeError:getStateisnotafunction。当我删除这个添加的中间件时,我的项目运行正常。添加此中间件的正确方法是什么?这是完整的文件:import{createStore,compose,applyMiddleware}from'redux';importrootReducerfrom'../reducers';importreduxImmutableStateInvari

javascript - Cloud Functions for Firebase 组织

我知道有人问过这个问题here,但它没有回答我的问题。我的问题是我们如何为CloudFunctions分解index.js,包括onWrite调用等。我知道您可以使用“require”并引入外部代码。它仍然在index.js中留下一些代码(例如,在FranksOCR示例中)。理想情况下,我希望能够将整个onWrite事件触发器移动到另一个文件。index.js中的示例:exports.sysQueueUserNew=functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event)=>{//dosomethin