草庐IT

this_call

全部标签

javascript - Aurelia 绑定(bind) : property-getter called repeatedly

我目前正在学习和使用Aurelia,并且发生了一些奇怪的(也许是正常的)事情。当使用下面的代码时exportclassNavBar{getusername(){console.log('o_o')return'name'+Date.now()}}并且在模板${username}中,用户名始终在更新,每秒更新几次(当然,console.log也会记录多次)。解决方法是简单地使用函数而不是getter并在模板中调用${username()}。但这种行为正常吗?那么我应该有时使用setter/getter有时不使用setter/getter吗?谢谢! 最佳答案

JavaScript 对象文字方法 : Recursive call

是否可以从对象字面量中递归调用方法?例如:(function(){'usestrict';varabc=['A','B','C'],obj={f:function(){if(abc.length){abc.shift();f();//Recursivecall}}};obj.f();}());错误:'f'在定义之前被使用。谢谢。 最佳答案 您可以通过使用命名函数表达式:f:functionmyself(){if(abc.length){abc.shift();myself();//Recursivecall}}必读:http://k

javascript - jQuery 如何劫持 "this"?

我只是想知道jQuery是如何劫持Javascript中的“this”关键字的。从我正在阅读的书中:“Javascript权威指南”它指出“this”是一个关键字,你不能像使用标识符那样改变它。现在,假设您在自己的对象构造函数中调用了一些jQuery代码,它如何从您那里劫持它?functionMyObject(){//Atthispoint"this"isreferringtothisobject$("div").each(function(){//Nowthisreferstothecurrentlymatcheddiv});}我唯一的猜测是,由于您正在为jQueryeach()函数

Javascript "this"onclick 事件引用无效

我正在尝试调用带有“onclick”事件的函数:在函数本身中,我指的是“this”:functionmove(e){varmyId=this.id;alert("myId");}当我运行整个程序时,警报显示“未定义”。当我尝试alert(this)时,我得到了[objectwindow]。顺便说一句,我正在使用IE9。谢谢 最佳答案 this是您代码中的window对象。您可以将this作为参数传递。然后:functionmove(ele){varmyId=ele.id;alert("myId");}

javascript - `this` 的默认绑定(bind)与 Chrome 浏览器和 Node.js 不同

我正在阅读Chapter2:thisAllMakesSenseNow!来自YouDon'tKnowJS,并决定做这个实验。我有这个足够简单的脚本foo.js:vara='foo';varoutput;//letsfindawaytooutputstringsinboth//ChromeandNode.jsif(typeofalert==='undefined'){output=console.log;}else{output=alert;}functiongetA(){returnthis.a;}varfoo=getA();output(foo);当getA()被调用时,我期待以下事情

javascript - 如何将 "this"传递给窗口 setInterval

假设我有一个函数a:functiona(){this.b=1;this.set=setInterval(function(){console.log(this.b);},200);}所以当a.set()被调用时,匿名函数将被调用。但这在触发函数指向窗口对象时不起作用。此外,使用a.b也不是一个好主意,因为a可能有多个实例。这个问题有什么好的解决方案? 最佳答案 存储对this的引用:functiona(){varself=this;self.b=1;self.set=setInterval(function(){console.lo

javascript - 事件处理程序错误 : "this.data() is not a function"

我有一个HTML链接列表,每个链接都有data-...属性:****************我需要在点击链接时接收链接的data-info值。所以我想到了这样的事情:varmy_links=$('#list').find('a');my_links.on('click',function(){console.log(this.data(info));});但后来我得到:UncaughtTypeError:this.dataisnotafunction如果我这样做:varmy_links=$('#list').find('a');my_links.on('click',function(

javascript - Undefined 不是评估 this.state 的对象。*

我在使用fetch将数据发布到快速RESTAPI时遇到问题在我的native应用程序中。这是我的代码:/***SampleReactNativeApp*https://github.com/facebook/react-native*@flow*/importReact,{Component}from'react';import{AppRegistry,StyleSheet,Text,View}from'react-native';importButtonfrom'react-native-button';importDeviceInfofrom'react-native-device

javascript - 使用 "var that = this"了解 Javascript 作用域

这个问题在这里已经有了答案:InJavascript,whyisthe"this"operatorinconsistent?(8个答案)关闭9年前。假设我在一个对象中有以下属性方法:onReady:functionFlashUpload_onReady(){Alfresco.util.Ajax.jsonGet({url:Alfresco.constants.PROXY_URI+"org/app/classification",successCallback:{fn:function(o){varclassButtonMenu=[],menuLabel,that=this;varsele

javascript - jQuery 在 Internet Explorer 8 中不起作用 ("this"返回 DOM 而不是 jq)

我遇到了一个奇怪的问题,找不到任何解决方案。jQuery(任何版本,从1.7.*到1.10.*)在InternetExplorer8中失败。所有插件(来自Bootstrap)和jQuery库都出现错误:Objectdoesn'tsupportthispropertyormethodScreenshotfromdebugger:挖掘插件代码,像这样:$.fn.alert=function(option){returnthis.each(function(){//...})}显示问题:this关键字指向HTMLDomObject,而不是jQuery对象。什么会导致如此奇怪的错误?仅Inte