【问题标题】:What object(s) are the Number(), parseInt() and parseFloat() functions a member of in JavaScript?JavaScript 中的 Number()、parseInt() 和 parseFloat() 函数是哪些对象?
【发布时间】:2023-03-31 01:55:01
【问题描述】:

我知道在 JavaScript 中,Number()parseInt()parseFloat() 方法可以在不指定它们所属的对象的情况下调用。

例如,alert()window 对象的一部分。您可以调用window.alert(),但也可以省略window. 部分,它仍然可以工作。

但是Number()parseInt()parseFloat() 函数属于哪些对象?

【问题讨论】:

  • 调用Number(5)parseInt("3")时没有对象。
  • 例如方法 alert() 属于 window 对象,方法 write() 属于 document 对象。 Number(), parseInt() 和 parseFloat() 必须有对象,因为基本结构是:objectname.methodname()
  • 总有一个对象。很多时候你不写window.alert(),只写alert(),因为在这种情况下不需要写对象。与 Number() ......发生相同。但他们有一个对象
  • 不,对于局部变量,没有对象。仅对于某些全局变量,它们可作为全局对象的属性访问 - 事实上,parseIntalertNumberparseFloat 在这方面的工作方式相同。你试过window.parseInt("3")吗?

标签: javascript numbers parseint parsefloat


【解决方案1】:

Number()parseInt()parseFloat() 都是 global object[spec] 的一部分。在浏览器中,这是 window 对象。

console.log(window.Number === Number);
console.log(window.parseInt === parseInt);
console.log(window.parseFloat === parseFloat);

无需显式添加window.即可访问全局对象的任何成员。

【讨论】:

    【解决方案2】:

    这三个方法是全局方法(参见w3schools1w3schools2),它们是可用于任何脚本的函数,因为它们不是任何特定对象的方法(参见docs.microfocus.com

    【讨论】:

    • 我看过 w3school 但它没有谈论全局方法。您评论的另一个网站给出了一个小的解释并显示了一个列表,但这些方法不在其中。这对我来说听起来很奇怪,因为我指出的这些方法非常具体,因为它们指的是一个数字。
    • 那么请再次查看 w3schools 链接。在“将变量转换为数字”一节中,您会发现:“这些方法不是数字方法,而是全局 JavaScript 方法。”。我添加了另一个 w3schools 链接。阅读它,您会发现其中包含三个全局函数的列表。微焦点链接解释了您问题的对象部分
    • 我读过,它们是全局函数。但它们也可以像 Number 对象的方法一样工作。 Ej: document.write(Number.parseInt("75")+3);
    • 其实在这个页面:developer.mozilla.org/es/docs/Web/JavaScript/Reference/…say 这个方法和全局的parseInt()函数功能一样:Number.parseInt === parseInt // true
    • 如果您对这些答案仍然不满意,您应该重新提出您的问题...
    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多