为什么有些JavaScript方法可执行而其他方法不可执行?

时间:2014-07-02 17:25:21

标签: javascript function

我想知道为什么对字符串(.length.toUpperCase()等)的某些方法调用不会在调用结束时使用括号而其他方法会这样做。

诸如.toUpperCase()之类的方法实际上是在改变变量的值,而.length之类的方法只报告有关变量的信息吗?

2 个答案:

答案 0 :(得分:1)

如果它最后没有括号,则它是property,而不是方法。

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

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

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

答案 1 :(得分:-1)

这只是设计决策,我写过的每一种语言都有这些困境(通常还有一些不一致的地方)。字符串操作应该就地吗?像length这样的东西应该是属性还是方法?等等......没有简单的答案,所以它通常因语言而异,甚至在语言中也是如此。

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