为什么有些JavaScript方法是可执行的,而另一些则不是

Why are some JavaScript methods executable and others are not?

本文关键字:可执行 JavaScript 方法 为什么      更新时间:2023-09-26

我想知道为什么对字符串(.length, .toUpperCase()等)的一些方法调用在调用结束时不带括号,而其他方法则带括号。

是否.toUpperCase()等方法实际上改变了变量的值,而.length等方法只是报告有关变量的信息?

如果末尾没有括号,它就是属性,而不是方法。

.length是一个返回数组或字符串长度的属性。

.toUpperCase()是一个使String对象中的所有字母都大写的方法。

你是对的"报告信息"answers"改变变量的值"之间的区别:这是属性和方法之间的区别。方法执行操作,属性是关于对象的一段信息。

这只是设计决策,我曾经用过的每种语言都有这些困境(通常有一些不一致之处)。字符串操作应该在适当的位置吗?像length这样的东西应该是属性还是方法?等等……没有简单的答案,所以它通常在不同的语言之间有所不同,甚至在同一种语言中。

要清楚,JavaScript中的每个方法都是可执行的,只是有些是方法而另一些是属性,您需要知道哪个是哪个。