草庐IT

READ_CALL_LOG

全部标签

javascript - 在 IIFE 上使用 .call(this)

我见过用.call(this)包裹的IIFE,而不仅仅是()。为什么要这样做?上下文:https://github.com/dmauro/Keypress/blob/development/keypress.js(据我了解,this将引用window对象-无论如何都会调用IIFE。这似乎是多余的。) 最佳答案 如果不使用call调用IIFE,它里面的this会引用全局对象window(或者undefined在严格模式下)。使用.call(this)将传递给它任何this在调用时引用的内容(无论当前上下文是什么)。例如,您想使用.ca

javascript - 未捕获的类型错误 : Cannot call method 'replace' of undefined underscore. js

我是backbone.js和underscore.js的新手。HTML:我调用View文件的地方:JS函数(与javascript项目配合良好):functionCart(){......this.showCart=function(){varitem=deserializeJSONToObj(window.localStorage.getItem(Cart.storageName));varstr='';str+='ItemtobuyQuantity';$.each(item,function(i,item){str+=''+trimString(item.Name,50)+'Ava

javascript - 连续调用 console.log 产生不一致的结果

好吧,我对此完全傻眼了。(我可能忽略了一些明显的东西但是......)我连续调用了2次console.log。他们之间没有别的东西console.log($state);console.log($state.current);这是生成结果的图像为什么2会产生不同的“当前”对象?怎么会这样?上下文:这些调用是在解析路由依赖项时在ajax调用中进行的。如果您需要更多代码或上下文,请告诉我。在Chrome和Firefox中确认了同样的问题Ajax调用和包装函数(无任何修改)normaCtrl.publicNorma=['$http','$state','$stateParams','base

javascript - 全日历 v2 错误 : Uncaught TypeError: Cannot read property 'month' of undefined

我在添加事件时使用了选择回调。以下代码在v1中有效,但我在v2中遇到了UncaughtTypeError。当我删除ajax代码时没有错误,但我当然需要将新事件添加到数据库中。select:function(start,end,jsEvent,view){vartitle='Available';vareventData;eventData={title:title,start:start};$.ajax({type:'POST',url:'add-event.php',data:eventData,success:function(data){$('#calendar').fullCa

javascript - React js 性能工具插件抛出 "Cannot read property ' 未定义的计数”

我对如何使用React的性能工具感到困惑。我目前的使用情况如下图:varPerf=React.addons.Perf;Perf.start();this.setState({newState:newStateObject,},function(){Perf.printInclusive();Perf.stop();});这不会在页面上呈现任何内容并脱口而出UncaughtTypeError:Cannotreadproperty'counts'ofundefined 最佳答案 参见https://github.com/facebook

javascript - 为什么使用 Function.prototype.bind 而不是 Function.prototype.call?

myFunction.call(thisArg,arg1,arg2...)我的理解是,当我使用call方法并提供thisArg时,函数中的this值设置为我传入的对象.myFunction.bind(thisArg,arg1,arg2...)而另一方面,bind方法返回一个新函数,新函数的this上下文设置为我传入的对象。但我不明白的是为什么要使用bind而不是call。如果我只想更改this的上下文,call对我来说就足够了。那为什么要在IE8及以下浏览器中中断时使用bind。那么,与call相比,什么时候使用bind会更好? 最佳答案

javascript - setTimeout(函数(){console.log(3)}, 0);它的值为 0

这个问题在这里已经有了答案:WhyissetTimeout(fn,0)sometimesuseful?(19个回答)关闭7年前。当我在控制台中执行以下代码时,我得到的是:1,4,未定义3,2。我想知道为什么它不作为1,3,4和2执行因为在setTimeout(function(){console.log(3)},0);中,毫秒参数是0。(function(){console.log(1);setTimeout(function(){console.log(2)},1000);setTimeout(function(){console.log(3)},0);console.log(4);

javascript - Phaser.js : cannot read property '0' on tiled map layer

我在Meteor.js服务器上使用Paser.js。在我尝试按照描述使用平铺map之前,它工作得很好here.这是我的代码:JS:if(Meteor.isClient){Template.Game.onCreated(function(){vargame=newPhaser.Game(800,600,Phaser.AUTO,'',{preload:preload,create:create,update:update});varmap;varbackgroundLayer;varblockLayer;varbg;functionpreload(){//loadallgameassets

javascript - 为什么 console.log(true, '\t' ) 打印 true ""?

在Chrome中,以下内容console.log(true,'\t');将打印true""为什么周围有引号?(注意console.log(true+'','\t')只会打印true,与console.log的方式相同('a','\t');只会打印a。) 最佳答案 console.log基本上有两个重载:console.log(formatString,args)和console.log(arg1,arg2,...).更具体地说,根据thesourcecode,如果第一个参数是一个字符串,那么它会将其视为其他参数的格式字符串。否则直接

javascript - 在 JavaScript 中使用 call() 或 apply() 返回值

有没有办法在调用call()或apply()时获取函数的返回值?我的场景:我有一个函数可以与apply()函数配合使用。在对象构造函数上:varsomeObject=newSomeObject({NameFunction:"MakeNames"});在对象方法的循环中:varname="";for(vari=0;iMakeNames函数:functionMakeNames(data){returndata.FirstName+""+data.LastName;}那个varname保持为空,因为apply没有从函数返回任何值。请注意,我确信该函数已被调用并且参数已成功传递。请不要告诉我直