Tag: 这个

$(this)和event.target之间的区别?

我是jQuery新手,正在制作选项卡式面板,遵循JavaScript和jQuery教程:缺失手册 ,第一行是作者这样做的: var target = $(this); 但我试图这样做 var target = evt.target; 我得到了这个错误: Uncaught TypeError: Object http://localhost/tabbedPanels/#panel1 has no method 'attr' 当我将evt.target改回$(this) ,它就像一个魅力。 我想知道$(this)和evt.target之间的区别是什么? 这是我的代码,以防您需要它: index.html: <!DOCTYPE html> <html> <head> <title>Tabbed Panel</title> <style> body { width : 100%; height: 100%; } #wrapper { margin : auto; width : 800px; } #tabsContainer { overflow: hidden; } #tabs […]

嵌套函数中的Javascript“this”指针

我有一个关于如何在一个嵌套函数场景中处理“this”指针的问题。 假设我将下面的示例代码插入到网页中。 我调用嵌套函数“doSomeEffects()”时出现错误。 我检查了Firebug,它表明当我在嵌套函数中时,“this”指针实际上是指向全局的“window”对象 – 这是我没有想到的。 我不能正确理解某些东西,因为我认为自从我在对象的函数中声明了嵌套函数以来,它应该具有与函数相关的“局部”范围(即“this”指针将指向对象本身如何在我的第一个“如果”声明)。 任何指针(没有双关语意)将不胜感激。 var std_obj = { options : { rows: 0, cols: 0 }, activeEffect : "none", displayMe : function() { // the 'this' pointer is referring to the std_obj if (this.activeEffect=="fade") { } var doSomeEffects = function() { // the 'this' pointer is referring to the window obj, […]

VueJS:为什么“这个”是未定义的?

我正在用Vue.js创build一个组件。 当我在任何生命周期钩子 ( created , mounted , updated等)中引用this时,它的计算结果为undefined : mounted: () => { console.log(this); // logs "undefined" }, 同样的事情也发生在我的计算属性: computed: { foo: () => { return this.bar + 1; } } 我得到以下错误: Uncaught TypeError:无法读取未定义的属性“bar” 为什么this评估在这些情况下是undefined ?

Java – 何时使用“this”关键字

在Java中使用this关键字的最佳做法是什么? 例如,我有以下类: class Foo { Bar bar; public Foo(Bar bar) { this.bar = bar; } } 这很好,但是Java是足够聪明的,知道发生了什么,如果我改变构造函数中的语句 bar = bar; 那么为什么使用this关键字? (我认识到在某些情况下,完全有必要使用它,我只是要求这样的情况)。 实际上,我倾向于纯粹为了可读性而使用关键字,但常见的做法是什么? 例如,在整个商店中使用它使我的代码看起来有点乱 boolean baz; int someIndex = 5; this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber(); 很明显,代码很less,但它说明了我的例子。 在这些情况下是否只是个人偏好?

当在jquerycallback中调用TypeScript“this”范围问题

我不确定在TypeScript中处理“this”范围的最佳方法。 下面是我转换到TypeScript的代码中的一个常见模式的例子: class DemonstrateScopingProblems { private status = "blah"; public run() { alert(this.status); } } var thisTest = new DemonstrateScopingProblems(); // works as expected, displays "blah": thisTest.run(); // doesn't work; this is scoped to be the document so this.status is undefined: $(document).ready(thisTest.run); 现在,我可以改变电话… $(document).ready(thisTest.run.bind(thisTest)); …哪些工作。 但有点可怕 这意味着在某些情况下代码都可以编译并正常工作,但是如果我们忘记绑定范围,它将会中断。 我想要一种方法在课堂上做,所以当使用这个类时,我们不需要担心“this”的作用范围。 有什么build议么? 更新 另一种可行的方法是使用胖箭头: class DemonstrateScopingProblems { private […]

何时应该明确使用`this`指针?

什么时候应该在类的方法中明确地写this->member ?

JavaScript – “this”的所有者

我跟着一个教程来创build一个JavaScript秒表,并试图扩展它与多个秒表(一个类的多个实例)的工作。 我的问题是,当我试图显示当前值,而时钟滴答作响我需要硬编码的类实例,因为使用“这个”不起作用(在我使用console.log)。 我已经把代码降到了最低限度,试图理解这个方面,并粘贴了下面的内容: function Timer(){ var time1 = null; var time2 = null; var timeLoop = null; function getTime(){ var day = new Date(); return day.getTime(); } this.start = function(){ time1 = getTime(); timeLoop = setInterval(function(){ time2 = getTime(); console.log(_Timer.duration()); //console.log(this.duration()); },500); } this.duration = function(){ return (time1 – time2) / 1000; } } 我认为下面的链接描述了我的问题,但我不明白这个在这里应用。 […]

当你通过“this”作为参数时

我试图了解this ,这让我感到困惑: var randomFunction = function(callback) { var data = 10; callback(data); }; var obj = { initialData: 20, sumData: function(data) { var sum = this.initialData + data; console.log(sum); }, prepareRandomFunction: function() { randomFunction(this.sumData.bind(this)); } }; obj.prepareRandomFunction(); 这是否被devise为自己在代码中第一次呈现? 例如,在我的例子中,我成功地使用它来引用obj ,并将函数绑定到obj ,但由于this是作为callback函数传递,什么是阻止它被设置为randomFunction (即什么阻止它从从字面上传递“this.sumData.bind(this)”,以便在从那里调用的时候将其设置为randomFunction )? 我是一个试图学习的菜鸟。 谢谢。 更新我不完全问这是如何工作的(我不这么认为)。 我主要是想知道为什么this被设置在我定义它作为我的randomFunction调用的参数,而不是在randomFunction调用callback 。 我可能是错的,但如果我将this.sumData.bind(this)与我现在的callback(data)交换,我想我会得到一个不同的结果。 这是因为callback是一个引用this.sumData.bind(this)时,它是第一次定义(和this是obj )? 我想我已经通过这个场景了解到this是在执行时设置的。 它不会作为parameter passing,以后在参数被调用的时候被设置。

PHP中的variables$是什么意思?

我总是看到PHP中的variables$this ,我不知道它是用来做什么的。 我从来没有亲自使用它,search引擎忽略$ ,我最终search单词“这个”。 有人能告诉我如何variables$这在PHP中工作?

如何获得$(this)select器的孩子?

我有一个类似于这样的布局: <div id="…"><img src="…"></div> 并希望使用jQueryselect器来selectdiv内的子img点击。 为了得到div ,我有这个select器: $(this) 我怎样才能让孩子使用select器img ?