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

为什么有些JavaScript方法是可执行的,而有些则不是?,javascript,function,Javascript,Function,我想知道为什么一些对字符串的方法调用(.length,.toUpperCase(),等等)在调用结束时不使用括号,而其他方法则使用括号 是不是像.toUpperCase()这样的方法实际上在改变变量的值,而像.length这样的方法只是报告变量的信息?如果它的末尾没有括号,它是一个,而不是一个方法 .length是返回数组或字符串长度的属性 .toUpperCase()是一种使字符串对象中的所有字母都大写的方法 关于“报告信息”和“更改变量值”之间的区别,您是对的:这就是属性和方法之间的区别。方

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


是不是像
.toUpperCase()
这样的方法实际上在改变变量的值,而像
.length
这样的方法只是报告变量的信息?

如果它的末尾没有括号,它是一个,而不是一个方法

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

.toUpperCase()
是一种使字符串对象中的所有字母都大写的方法


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

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


需要明确的是,JavaScript中的每个方法都是可执行的,只是有些是方法,有些是属性,你需要知道哪个是属性。

为什么在发布后的前30秒内两次被否决?