草庐IT

instance-method-call

全部标签

javascript - Backbone.js - 未捕获的类型错误 : Object [object Object] has no method 'apply'

我是Backbone.js的新手。对于试验/初始开发,我将所有内容都放在标签的一页上,但我开始将代码分离到一个单独的.js文件中。在我这样做之后,我收到来自路由器的错误。未捕获的类型错误:对象[对象对象]没有方法“应用”这是我的路由器代码:varAppRouter=newBackbone.Router.extend({routes:{":uuid":"details"},details:function(uuid){//loaddetailsnewDetailView({id:uuid,el:$('#detailView')});}});varappRouter=newAppRoute

javascript - 未捕获的类型错误 : Cannot read property 'call' of undefined after webpack rebuild CommonsChunkPlugin

我在尝试请求html文件时遇到一个奇怪的错误。有问题的代码是用typescript编写并使用webpack的AngularJs应用程序。应用程序指令.ts//require('./app.scss');//importAppControllerfrom'./app.controller';functionAppDirective():ng.IDirective{return{restrict:'E',scope:{},controllerAs:'vm',//controller:AppController,controller:()=>{},//template:require('./

javascript - 为什么我会在 gulp 中得到 "task completion callback called too many times"?

给定以下gulp任务,为什么我会收到以下错误?Error:taskcompletioncallbackcalledtoomanytimesfunctionmyTask(options,cb){//cbisthegulpcbvarserverInstance=http.createServer(dispatch({/*routes*/}));serverInstance.listen(options.port,function(){cb();//Stacktraceidentifiesthislineasthrowingtheerror});}functionpartial(fn){va

javascript - 有没有安全的方法调用 `call` 来调用 JavaScript 中的函数?

我想调用一个带有自定义thisArg的函数。这看起来很简单,我只需要调用call:func.call(thisArg,arg1,arg2,arg3);但是等等!func.call可能不是Function.prototype.call。所以我想到了用Function.prototype.call.call(func,thisArg,arg1,arg2,arg3);但是等等!Function.prototype.call.call可能不是Function.prototype.call。因此,假设Function.prototype.call是原生的,但考虑到可能已将任意非内部属性添加到其中

javascript - 鉴于 "arguments"不是真正的数组,为什么 Array.prototype.slice.call(arguments) 有效,而 Array.prototype.slice.call(someobject) 无效?

如果arguments只是一个具有length属性的对象,那么为什么它的行为似乎不同于其他非数组对象,例如Array.prototype.slice。例如,下面的代码首先提示“undefined”,然后提示“foo”。为什么这些不同?(function(a){varmyobj={0:"foo"};varmyobjarray=Array.prototype.slice.call(myobj);varargumentsarray=Array.prototype.slice.call(arguments);alert(myobjarray.shift());alert(argumentsar

javascript - 是否可以覆盖 "call"函数?

是否可以在通用级别覆盖“调用”函数,以便每次在应用程序中的任何地方调用一个方法时,都会发生一些事情。我尝试覆盖Object.call,但尽管我设法做到了,但它并没有改变我的应用程序的工作方式。顺便说一句,即使它有效,我是否应该每次都显式调用“foo.call(this,args)”,或者正常的函数调用也将有效“foo(args)”? 最佳答案 听起来你想在这里做一些面向方面的编程....JavaScript作为一种ECMAScript方言,确实具有可调用对象的概念。每个可调用对象都有一个名为[[Call]]的内部属性。该属性在第5版

javascript - MVC3 Razor : call javascript function from view

我是MVC3Razor的新手,想在View(index.cshtml)上显示运行时间。我使用了一个javascript函数并将其放在_Layout.cshtml中,以便所有其他“主页”View都可以使用它(请参阅以下代码段)@ViewBag.Titlevaruhr=newDate();varminuten;varstunden;varsekunden;varinterval=500;functiondatum(id){uhr.setTime(uhr.getTime()+interval);window.setTimeout(function(){datum(id)},interval)

javascript - 检查对象是否是类的 'direct instance'

我有两个类:classBarextendsFoo{//Fooisn'trelevantconstructor(value){if(!(valueinstanceofFoo))throw"InvalidArgumentException:(...)";super();this.value=value;}}classBazextendsBar{constructor(value){super(value);}}Barconstructor检查value是否是Foo的实例,如果不是则抛出错误。至少,那是我想要它做的。如果您将Bar或Baz作为值传递,则if语句也会返回true。目标是只让Fo

javascript - a是一个函数,那么 `a.call.call`到底是做什么的呢?

这些代码在chromedevtool上运行。好像b.call(与a.call.call相同)调用第一个参数,它是一个函数,然后将第二个参数作为this传递.如果第一个参数不是函数,则抛出notafunction错误。谁能解释一下.call.call工作? 最佳答案 让我给你举个例子。functiona(){console.log(1)}functionb(){console.log(2)}a.call(b)//1a.call.call(b)//2a.call.call.call(b)//2为什么?我们知道a.call(b)表示使用t

javascript - 为什么 javascript 在传递给 function.apply() 或 function.call() 时会更改原始类型?

似乎当使用基本类型(字符串、数字)作为函数调用的this主题时(作为function.call()或functionapply()的第一个参数),基本类型被提升为其等效对象(例如,字符串变成字符串)。举例说明:varf=function(x){return[typeof(this),typeof(x)];}varobj='123'f.call(obj,obj)>>>["object","string"]也就是说,“this”成为一个对象(它是一个字符串对象,我已经检查过了),而调用的第二个参数成为函数“f”的第一个参数,并且仍然是原始字符串。对象都是都是“123”,但是一些微妙的事情不