Javascript教程中遇到的好奇心

Javascript教程中遇到的好奇心,javascript,Javascript,我不理解数字函数的作用。是我正在使用的教程,它实际上解释了函数的功能。。。但是当我删除数字时,它仍然返回相同的值,所以我不理解它的用途。即使我将Number更改为String,它仍然返回相同的值。下面是示例代码: var theNumber = Number(prompt("Pick a number", "")); print("Your number is the square root of " + (theNumber * theNumber)); 所发生的是它自动将数

我不理解数字函数的作用。是我正在使用的教程,它实际上解释了函数的功能。。。但是当我删除数字时,它仍然返回相同的值,所以我不理解它的用途。即使我将Number更改为String,它仍然返回相同的值。下面是示例代码:

var theNumber = Number(prompt("Pick a number", ""));  
print("Your number is the square root of " +  
    (theNumber * theNumber));

所发生的是它自动将数字转换成一个数字来执行*

我想你是说你做到了:

var theNumber = prompt("Pick a number", "");  
print("Your number is the square root of " +  
(theNumber * theNumber));
这里有一个很好的参考说明


看起来你还有第二个问题,那就是“我为什么要用它?”

一旦您将其转换为“数字”对象,您现在就可以访问一些其他属性/方法,这些属性/方法允许您进行一些转换,例如添加/修剪小数,以及转换为指数表示法

示例(用户输入
1.2222222
):


但是如果是这样的话,为什么我仍然能够在不使用数字函数的情况下得到正确的返回呢。对不起,我还是不明白。这是一种松散类型的语言。例如,假设您输入“3”。它取“3”*“3”并将其转换为数字进行乘法运算。你看过那篇文章了吗?查找
-,*,/和%运算符部分。我理解你的意思,但当我甚至不使用数字函数时,它仍然能够正确执行乘法。编辑:一开始我没有看到你的链接,现在我会看看。我解释了上面的原因,它会自动将字符串转换为数字。使用“Number”的价值在于,如果输入无效,它可以将错误值转换为
NaN
。(不确定自动铸造是否能做到这一点)如果教程中提到这是自动完成的,它会有所帮助。但既然是这种情况,我仍然不明白为什么你会使用数字,如果它是自动完成的。对不起,这可能是大多数程序员都能得到的,但我以前从未编程过。编辑:它仍然会在没有函数的情况下将其转换为NaN。。。
var theNumber = new Number("1.22222222222222222222222222");
theNumber.toFixed(2);
//value is now 1.22