为什么一个句号被用来叫“quot;”;toString();关于数字JavaScript

为什么一个句号被用来叫“quot;”;toString();关于数字JavaScript,javascript,Javascript,为什么当对一个数字调用toString时,它不像一个典型的函数那样被调用。我希望var num=5;toString(num)但它的执行方式类似于var num=5;num.toString()。为什么使用句点来调用数字函数,而不是将数字作为参数提供?我知道句点是用来引用一个对象的属性的,但我看不出它是如何适用于这种情况的。如果这是一个简单的问题,很抱歉,但我是编程新手,我真的想在继续之前理解这门语言。toString()它本身实际上就是window.toString(),这就是 它不需要任何参

为什么当对一个数字调用toString时,它不像一个典型的函数那样被调用。我希望
var num=5;toString(num)但它的执行方式类似于
var num=5;num.toString()。为什么使用句点来调用数字函数,而不是将数字作为参数提供?我知道句点是用来引用一个对象的属性的,但我看不出它是如何适用于这种情况的。如果这是一个简单的问题,很抱歉,但我是编程新手,我真的想在继续之前理解这门语言。

toString()
它本身实际上就是
window.toString()
,这就是

它不需要任何参数

console.info(toString==window.toString)
console.info(window.toString())
toString()
它本身实际上是
window.toString()
,也就是

它不需要任何参数

console.info(toString==window.toString)

console.info(window.toString())
在JavaScript中,
用于访问对象的属性。在这种情况下,数字上有一个属性
toString
,您可以调用该属性

var num = 5;
num.toString //function toString() { [native code] }
num.toString() //"5"
函数
toString
前面没有任何内容,它实际上是
窗口
对象上的一个属性,相当于以下内容:

window.toString //function toString() { [native code] }

在JavaScript中,
用于访问对象上的属性。在这种情况下,数字上有一个属性
toString
,您可以调用该属性

var num = 5;
num.toString //function toString() { [native code] }
num.toString() //"5"
函数
toString
前面没有任何内容,它实际上是
窗口
对象上的一个属性,相当于以下内容:

window.toString //function toString() { [native code] }

定义了数字的原型


如果您直接使用toString,这意味着您要求全局作用域使用全局toString(window.toString())。该窗口非常通用,知道如何将特定数字转换为字符串

定义了该编号的原型


如果您直接使用toString,这意味着您要求全局作用域使用全局toString(window.toString())。该窗口非常通用,知道如何将特定数字转换为字符串

是在
Number.protype
上定义的方法。另外,
5..toString()
也可以工作。与
(5)一样,toString()
toString()
本身实际上是
window.toString()
,它是。它不需要任何简单但不十分准确的参数:因为Javascript是一种面向对象的语言。你有对象,这些对象有你可以调用的方法。例如,数字对象具有
toString()
方法,该方法返回一个新的字符串对象,该字符串对象是该数字的字符串表示形式。您所期望的是函数式语言的工作方式,在这些语言中,您可以清楚地区分数据结构和转换这些数据结构的函数。类和对象的概念不像面向对象语言那样存在于它们之中。对于初学者来说,这种区别似乎很难理解或区分,但它是一个非常基本的区别。@XaverKapeller你应该回答这个问题。是在
Number.protype
上定义的方法。另外,
5..toString()
也可以工作。与
(5)一样,toString()
toString()
本身实际上是
window.toString()
,它是。它不需要任何简单但不十分准确的参数:因为Javascript是一种面向对象的语言。你有对象,这些对象有你可以调用的方法。例如,数字对象具有
toString()
方法,该方法返回一个新的字符串对象,该字符串对象是该数字的字符串表示形式。您所期望的是函数式语言的工作方式,在这些语言中,您可以清楚地区分数据结构和转换这些数据结构的函数。类和对象的概念不像面向对象语言那样存在于它们之中。对于初学者来说,这种区别似乎很难理解或区分,但它是一个非常基本的区别。@XaverKapeller你应该回答这个问题。好的,但我认为OP可能想知道,在语言设计方面,为什么没有一个函数可以以
formatNumber(someNumber)
的形式调用,而不是将其作为一个方法调用。@nnnn我添加了一些关于
window
OK的额外信息,但我认为OP可能想知道,在语言设计方面,为什么没有一个函数可以以
formatNumber(someNumber)
的形式调用,而不是将其作为方法调用。@nnnn我添加了一些关于
窗口的额外信息