问题标签 [this]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
571 浏览

c++ - c ++:无法评估对象的变量,但引用同一对象的变量可以吗?

好吧,这很奇怪……我想。我对标题的意思是:

在 actionHandler 对象的 act() 函数中,我有:

这给了我某种地址违规,显然'this'没有初始化'state'变量......碰巧这个actionHandler类有一个静态变量,它是一个指向自身实例的指针,称为'handler '...如果我这样做:

它完美地工作..为了使这一点更加清晰:

那个“处理程序”指针指向整个程序中存在的唯一 actionHandler 实例(单例模式)。所以基本上当我从我的 actionHandler 对象运行这个 act() 函数时,它不允许我访问“状态”变量,但是如果从那个对象,我尝试通过指向同一个对象的指针访问同一个变量,可以吗?我不明白发生了什么..我不确定它是否清楚,可能有点令人困惑,但我希望它是可以理解的..

顺便说一句,VS08 调试器显示了我的意思:

我希望它更清楚,它是显示在显示变量当前值的小窗口上的小树结构(自动)。

编辑:我知道这个指针是空的,我只是不明白它怎么可能是空的。我会发布一些代码:

actionHandler.h:

actionHandler.cpp:

现在,在 gameState.hi 中有一个类似的结构(单例)和一个 actionHandler* 私有变量,它在以下位置初始化:

还有一个返回处理程序的 getHandler() 函数。这一切都应该在 main.cpp 中初始化:

然后使用:

main.cpp 是用简单的 .c 样式编写的,没有标题,所以是的,我想调用处理程序的函数是静态的......但是,我也调用了 gameState* 指针,它的工作方式应该与actionHandler* 一个.. 希望这能让它更清楚。

0 投票
3 回答
2791 浏览

javascript - IE中的“this”关键字

<tr onclick="this.toggleClassName('selected')">所以,我在网页上使用了这个片段。(Prototype.js 函数)效果很好。我所做的只是单击表格行,它似乎被选中。它适用于任何地方,除了 IE 和 Opera。这只是一种方便,所以我并不关心它是否有效,但在 IE 中它会抛出一个错误,并询问用户他/她是否想调试。

我收到的错误消息是“对象不支持此属性或方法”。它可能指的是哪个对象或哪个方法?关于在 IE 中实现此功能的简单方法有什么想法吗?不向用户抛出错误消息怎么样?

谢谢,戴夫

( http://math.davehampson.net )

0 投票
11 回答
1065 浏览

c# - C# 在这种情况下使用“this”关键字?

我已经完成了 OOP 课程作业,我在其中设计和编写了一个复数类。为了获得额外的信用,我可以执行以下操作:

  1. 添加两个复数。该函数将一个复数对象作为参数并返回一个复数对象。将两个复数相加时,调用对象的实部与作为参数传递的复数对象的实部相加,调用对象的虚部与作为参数传递的复数对象的虚部相加一个参数。

  2. 减去两个复数。该函数将一个复数对象作为参数并返回一个复数对象。当两个复数相减时,作为参数传递的复数对象的实部从调用对象的实部中减去,作为参数传递的复数对象的虚部从调用对象的虚部中减去调用对象。

我已经对此进行了编码,我使用 this 关键字来表示类的当前实例,我的 add 方法的代码如下,我的减法方法看起来相似:

我的问题是:我这样做是否正确且风格良好?(使用 this 关键字)?

0 投票
5 回答
6045 浏览

java - Java:抽象类构造函数和 this()

有人可以指出我的误解吗?

我有两个类,一个 Abstract 和一个 Concrete,如下所示:

当我运行它时,我得到以下输出:

1)类=混凝土;Abstract 的无参数构造函数被调用。
2)类=混凝土;Abstract 的 1-arg 构造函数被调用。
3)类=混凝土;调用了具体的 1-arg 构造函数。

我的问题是:为什么从 Abstract 的 String arg 构造函数对 this() 的调用不调用 Concrete 上的这个无参数构造函数?或者,也许更相关的是,有什么方法可以让 Abstract 的 String arg 构造函数调用 Concrete 上的无参数构造函数,从而允许构造函数的“正确”链接?

0 投票
3 回答
3368 浏览

jquery - 这个 $(this).attr("id").toggle(""); 有什么问题?

切换 this.id 对象的正确语法是什么

$(this).attr("id").toggle("");

谢谢。谷歌出人意料地没有帮助:(

0 投票
4 回答
3884 浏览

c++ - C++ 与 Java 中的构造函数和变量名称

我正在学习来自 Java 背景的 C++(从多年前了解一点 C)...

在 Java 中,通常的做法是在构造函数中使用“this”来区分作为参数传入构造函数的变量和类中声明的变量:

我喜欢这个,因为变量 Blabla.a 和作为参数传入构造函数的变量代表相同的东西,所以它们应该具有相同的名称感觉合乎逻辑......

是否可以在 C++ 中做到这一点?

0 投票
4 回答
2350 浏览

php - PHP:$_this 有特殊含义吗?

我似乎找不到任何关于$_thisPHP 含义的文档。它似乎在 CakePHP 框架中被大量使用。

有任何想法吗?

0 投票
7 回答
23599 浏览

php - PHP 类或 PHP 方法中 self 和 $this-> 的区别在哪里?

PHP 类或 PHP 方法之间self的区别在哪里?$this->

例子:

我最近看到了这段代码。

但我记得是$this->指一个类的当前实例(对象)(也可能是错误的)。然而,有什么区别呢?

0 投票
3 回答
122 浏览

php - 请帮我解决我的 OOP PHP 疑问?

我有后续编

两个 echo 语句都给出了正确的相同输出,即“Fred”和“Barney”,所以在声明 $barney 时给出 & 有什么用。“&”在这里指的是什么?

谢谢

0 投票
6 回答
53581 浏览

javascript - 这个内部函数

我的问题是:

据我所知,它取决于如何Foo使用,即作为构造函数或函数。this在不同的情况下会是什么?