gpt4 book ai didi

javascript - 在 JS 中对数字文字调用函数的规则是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 04:10:46 25 4
gpt4 key购买 nike

<分区>

自从我开始使用 JS 以来,我一直认为在数字文字上调用函数的唯一方法是通过用括号将其包裹起来将其放在表达式位置,如下所示:

1.toString();
// SyntaxError: identifier starts immediately after numeric literal

(1).toString();
// "1"

今天,我突然想到要试试这个:

0.1.toString();
// "0.1"

为什么会这样?指向官方规范的指针会很棒。

编辑 歧义是我的第一个想法,但后来决定 1.toString() 中也没有歧义。这比我最初想的要深,但我仍然认为我是对的。原因如下:

属性名称​​可以以数字开头

var obj = { "1" : 1, "2" : 2 };

以数字开头的属性名称只能用方括号引用

obj.1;
// SyntaxError: Unexpected token ILLEGAL
obj['1'];
// 1

还有:

1['toString']();
// '1'

因此,1. 后跟任何非数字将始终是方法调用或属性访问,绝不是十进制数。同样,1. 后跟任何数字将始终是十进制数,绝不是方法调用或属性访问。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com