gpt4 book ai didi

javascript - 在javascript类中使用它

转载 作者:行者123 更新时间:2023-11-30 05:46:14 24 4
gpt4 key购买 nike

我是 javascript 的新手。

我想知道为什么在 javascript 中定义属性和函数时必须使用 this。例如

   function Apple (type) {
this.type = type;
this.color = "red";
this.getInfo = function() {
return this.color + ' ' + this.type + ' apple';
};
}

var apple = new Apple('macintosh');
apple.color = "reddish";
alert(apple.getInfo());

我知道this指的是调用类的对象。我们在 C++ 和 java 。我们定义了一个类似这样的类

class apple {
char type ;
char color ;
returntype getInfo (){
this.color = 'red';
this.type = 'something'

}

我认为 在 javascript 中声明属性也很奇怪。这背后有什么原因吗?

最佳答案

JavaScript 中没有类。一切都是对象。因此,您需要对对象进行操作。

当使用 new 调用函数时:this 将引用一个您可以编辑的新创建的对象。

如果你在没有new的情况下调用你的函数,那么this实际上将是window(浏览器)或global (服务器端)在你的例子中。

要向对象添加新字段,您通常会执行以下操作:object.newfield = somevalue,但此处 object 存储在变量 this 中.

过程类似于:

新函数 -> 创建新对象 -> 将它作为“this”传递给函数 -> 函数工作 code> -> 返回更新后的“this”

function works 部分是您的函数代码实际执行的地方。

关于javascript - 在javascript类中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840542/

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