Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警报(20e-1[toString';](2));javascript_Javascript - Fatal编程技术网

警报(20e-1[toString';](2));javascript

警报(20e-1[toString';](2));javascript,javascript,Javascript,我想知道什么会提醒这个javascript表达式 alert( 20e-1['toString'](2) ); 我需要关于答案的详细解释 谢谢你的详细回答 结果将是10 让我们分析一下表达式20e-1['toString'](2): 20e-1是科学记数法中指定的浮点数,是20*10^-1(=20*0.1=2)的缩写 toString是原语值的属性,即浮点数2toString是一个将数字转换为字符串表示形式的函数。语法建议将原语值提升为Number对象,然后引用其属性toString(实际情

我想知道什么会提醒这个javascript表达式

alert( 20e-1['toString'](2) );
我需要关于答案的详细解释


谢谢你的详细回答

结果将是
10

让我们分析一下表达式
20e-1['toString'](2)

  • 20e-1
    是科学记数法中指定的浮点数,是
    20*10^-1(=20*0.1=2)
    的缩写

  • toString
    是原语值的属性,即浮点数
    2
    toString
    是一个将数字转换为字符串表示形式的函数。语法建议将原语值提升为
    Number
    对象,然后引用其属性
    toString
    (实际情况更为复杂,将以比我可以重复的更明智的方式解释它)

  • (2)
    是方法
    toString
    的实际参数列表。单个参数指定将数字转换为基数2中的字符串表示形式2恰好是
    10
    ,这解释了输出


结果将是
10

让我们分析一下表达式
20e-1['toString'](2)

  • 20e-1
    是科学记数法中指定的浮点数,是
    20*10^-1(=20*0.1=2)
    的缩写

  • toString
    是原语值的属性,即浮点数
    2
    toString
    是一个将数字转换为字符串表示形式的函数。语法建议将原语值提升为
    Number
    对象,然后引用其属性
    toString
    (实际情况更为复杂,将以比我可以重复的更明智的方式解释它)

  • (2)
    是方法
    toString
    的实际参数列表。单个参数指定将数字转换为基数2中的字符串表示形式2恰好是
    10
    ,这解释了输出


为什么不试试呢?在这里试试20e-1=2(数学运算)。它的类型是“number”,也是javascript中的一个对象。因此,我们可以编写2.someMethod();这里,使用括号表示法(而不是点表示法)调用toString()方法:20e-1['toString'],它返回一个普通表达式。最后,用括号调用该方法,并向该方法添加一个参数2,它是结果的基础,这里是一个二进制结果。所以我们将一个2转换成一个二进制数=>10,表示为字符串“10”。为什么不试试呢?试试这里的20e-1=2(数学运算)。它的类型是“number”,也是javascript中的一个对象。因此,我们可以编写2.someMethod();这里,使用括号表示法(而不是点表示法)调用toString()方法:20e-1['toString'],它返回一个普通表达式。最后,用括号调用该方法,并向该方法添加一个参数2,它是结果的基础,这里是一个二进制结果。所以我们将2转换为二进制数=>10,表示为字符串“10”。