我正在尝试调用带有“onclick”事件的函数:在函数本身中,我指的是“this”:functionmove(e){varmyId=this.id;alert("myId");}当我运行整个程序时,警报显示“未定义”。当我尝试alert(this)时,我得到了[objectwindow]。顺便说一句,我正在使用IE9。谢谢 最佳答案 this是您代码中的window对象。您可以将this作为参数传递。然后:functionmove(ele){varmyId=ele.id;alert("myId");}
我正在阅读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()被调用时,我期待以下事情
假设我有一个函数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
我有一个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(
我在使用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
这个问题在这里已经有了答案: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
我遇到了一个奇怪的问题,找不到任何解决方案。jQuery(任何版本,从1.7.*到1.10.*)在InternetExplorer8中失败。所有插件(来自Bootstrap)和jQuery库都出现错误:Objectdoesn'tsupportthispropertyormethodScreenshotfromdebugger:挖掘插件代码,像这样:$.fn.alert=function(option){returnthis.each(function(){//...})}显示问题:this关键字指向HTMLDomObject,而不是jQuery对象。什么会导致如此奇怪的错误?仅Inte
我有一个Node.js应用程序,它有一个main-process.js和一个child-process.js。main-process.js看起来像这样:varchildProcess=require('child_process');varjob=childProcess.spawn('node',["child-process.js"],{detached=true,stdio:['ipc']});我的child-process.js执行一些任务并通知父进程它的状态,它使用:exports.init=function(){//someprocessinghereprocess.se
我有一个由require加载的JavaScript文件。//loadedbyrequire()vara=this;//"this"isanemptyobjectthis.anObject={name:"Anobject"};varaFunction=function(){varinnerThis=this;//"this"isnodeglobalobject};aFunction();(function(anyParameter){console.log(anyParameter.anObject);})(this//"this"issamehavinganObject.Not"glo
Safari的XMLHttpRequest的send()方法支持File参数。Firefox还没有。如何检查这是否受支持?在Firefox中,它的行为就像传递了一个空字符串一样。我试图避免进行浏览器版本检测。编辑:FF3.6似乎支持它,但问题仍然与旧版本或其他浏览器相关。 最佳答案 如果可以创建File对象,那么send可能会支持它。在Gecko(firefox)中,这将是真实的(根据MDC,文件和发送的文件兼容性都在1.9中发布) 关于javascript-如何检查XMLHttpReq