gpt4 book ai didi

javascript - 方法数量

转载 作者:行者123 更新时间:2023-11-28 14:42:58 26 4
gpt4 key购买 nike

对方法函数的元数进行分类时,是否需要考虑this的使用?例如:

// Unary
function double(num) {
return num * 2;
}

// Binary
function add(num1, num2) {
return num1 + num2;
}

class Calc {
value;

// Unary or binary?
add(num1) {
return this.value + num1;
}

// Nullary or unary?
double() {
return this.value * 2;
}
}

我一直认为 this 是一个隐式参数。

(我假设对此有一个与语言无关的答案,但我最感兴趣的是 JavaScript)

最佳答案

C++ 和其他 OOP 语言允许我们编写如下内容:

C a,b,c;
c = a + b;

( C 是一个类, abc 是类 C 的实例)

类(class)C可以定义+运算符可以作为方法或作为友元函数。作为一种方法,它接受一个参数(它是第二个操作数,第一个操作数是 this )。作为友元函数,它需要两个参数(两个操作数)。

加法是一个二元运算符(我们从数学中知道这一点,上面的用法也不能否认这一点)。事实上,在 C++它可以实现为一种只接受一个显式参数的方法,只是一个实现细节。它的实际数量由它需要使用的值的数量决定。

底线是:this必须算作一个论点。如果函数不使用它,那么它不应该是实例方法,而是类方法或独立函数。

关于javascript - 方法数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47351585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com