Javascript:为什么有些变量放在()中,有些变量放在关键字之前?

时间:2014-11-13 21:57:59

标签: javascript

有一件事我不明白为什么有时你会把变量放在()中,有时你会把它们放在带有句点的关键字之前。对此有规定吗?它有名字吗?我怎么知道?我怎么记得?这给我带来了一些困惑。示例如下:

var myNumber1  = 1234;
var myNumber2  = myNumber.toString();  //variable is before keyword with a period

var myNumber1 = "1234";
var myNumber2 = Number(myNumber);  //variable is after keyword and inside of parenthesis

3 个答案:

答案 0 :(得分:3)

这是两个不同的synatx。

第一个调用myNumber方法 - 在对象上运行的函数(toString())。

第二个调用函数(Number),myNumber作为参数 - 括在括号中。

要了解有关函数和方法调用的更多信息,我建议您阅读一些教程。 ;)Here's one by MDN。它有点先进,但非常好。

答案 1 :(得分:0)

myNumber.toString(); 

将myNumber转换为“字符串”。喜欢“abcd”。不是数字。

因为每个字符串都在“”,

之间
"1234" is a string, not a number.

所以

var myNumber2 = Number(myNumber);  

将该字符串转换为数字1234。 “数字”是将通过括号括起来的数字转换为数字的函数。

答案 2 :(得分:0)

案例1

Number(myNumber);

简而言之,这只是一个函数,而你传递的是一个变量。从您提出问题的方式来看,您似乎了解这是如何运作的。

案例2

myNumber.toString();

在案例2中,您实际上并未传入变量,而是调用该对象的方法。

Dot notation is one of the two ways you can call methods

[对象]。 [该对象的方法]

在javascript中几乎所有东西都是一个对象,因为这个(喜欢或不喜欢)你在所有数字中都继承了Number.prototype的方法。

您可以将.toString()视为所有数字“对象”的方法。

如果您有兴趣了解更多有关此内容或如何添加更多方法,请自行阅读THIS