问题标签 [member-functions]
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.
javascript - javascript 构造函数 this 未正确绑定
问题:我在 JavaScript 中定义了一个构造函数,我尝试了几乎所有我能想到的模式 / Google。出于某种原因,无论我在调用该对象的成员函数时做什么,this
关键字总是绑定到window
. 我不知道该怎么办。
JsFiddle:http: //jsfiddle.net/za6SN/2/
c++ - 成员方法内的 C++11 Lambda 函数继承范围
我编写了一个foreach
接受 lambda 函数 ala 的函数:
如果我从主循环传递一个 lambda 函数,它会按预期工作:
但是,如果我尝试从成员方法中调用相同的函数,则 lambda 函数“继承”成员函数的范围并生成编译器错误。例如,如果我尝试将其包含在Object
名为的类的成员方法中,则会method()
收到以下错误:
我意识到这是安全的编译器,因为我可以在 lambda 函数中包含特定于实例的变量,在这种情况下,lambda 需要限定范围,但是我想知道是否可以使这个 lambda 成为“静态”。
我试过了reinterpret_cast
,但是这给了我这个错误:
指定static
before[&](pNode ...
似乎也不是有效的语法。
拼命地,我也尝试更改[&]
为[=]
, []
, [a]
,但都没有奏效。
有谁知道是否有办法实现我创建“静态” lambda 函数的目标,或者任何可以接受的 lambda 函数?
谢谢!
回答:
在Cat Plus Plus的帮助下,我能够打开我不正确的代码:
成功能齐全的代码:
这完全符合我的要求。
javascript - 全局函数的“this”指针是什么?
什么是this
全局函数的成员,如果在全局范围内或作为成员函数调用它,我如何在函数内进行测试?
编辑:似乎 JQuery 在这里有所作为,因为每个人都向我保证foo
应该返回null
普通的 JavaScript。JQuery 如何改变这一点?
请注意,OP 在下面的评论中说这是在 Greasemonkey 脚本中。
javascript - 如何在 JavaScript 中声明父类和子类?
我不喜欢 javascript 的一件事是有数百种方法可以做事。我想知道的是如何声明一个类?我是否使用 function() 方法?我调用 Class.create() 吗?什么是“标准做法”?声明成员函数的“标准做法”是什么?我使用原型吗?我使用 myClass.method() 吗?最后,我如何进行基本的父子继承?我问的原因是因为在互联网上我收到了很多方法来做这些事情。我想知道什么是“标准做法”。
c++ - 如何让 Windows 线程池调用类成员函数?
我希望 Windows 线程池 (QueueUserWorkItem()) 调用我的类的成员函数。
不幸的是,这不能通过将成员函数指针作为参数传递给 QueueUserWorkItem() 来直接完成。
造成困难的是,必须有多个成员函数是可调用的,并且它们具有不同的签名(尽管都返回 void)。
可能需要添加几层抽象才能使其正常工作,但我不确定如何解决这个问题。有任何想法吗?
c++ - 如何将 sizeof() 运算符应用于非静态类成员方法?
我们可以从外部应用成员方法sizeof()
吗?我们需要声明对象来获取它吗?class
编辑:我知道上面的代码会出错(这就是“显然”这个词的原因)。想知道我们是否可以将 sizeof() 应用于成员方法。我不想详细描述用例。
c++ - 成员函数声明中的限定名称是否允许?
此代码被 MSVC9.0 接受。我的问题是根据标准(旧标准和/或新标准)是否合法。报价也会非常受欢迎。
constants - 关于'const'函数的问题,c ++
我知道当我将成员函数声明为 const 时,我实际上是说我不会更改类。我的问题-“类”是指(*)这个实例还是一般的类?
例如 - 如果我有一个 const 成员函数创建同一个类的新实例并编辑这个实例,那合法吗?
谢谢!
c++ - 非成员函数可以声明多次,成员函数只能声明一次?
非成员函数可以多次声明,而成员函数只能声明一次?这是正确的吗 ?我的例子似乎是肯定的。
但为什么 ?
c++ - 部分模板特化——成员特化
假设我有这个模板类:
我想专门化它,所以我同样定义:
现在,只要我们在谈论小班,就可以了。如果我的课程很长,print()
单独专攻会聪明得多。我知道如何使用非成员函数来做到这一点。有没有办法用成员函数做到这一点?