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

Javascript: Why do some variables go in ( ) and some go before keywords?

本文关键字:变量 关键字 Javascript 为什么      更新时间:2023-09-26

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

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

这是两个不同的突触。

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

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

若要了解有关函数和方法调用的更多信息,我建议阅读一些教程。 ;)这是MDN的一个。它有点先进,但相当不错。

案例 1

Number(myNumber);

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

案例2

myNumber.toString();

在情况 2 中,您实际上没有传入变量,而是在调用该对象的方法。

点表示法是调用方法的两种方式之一。

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

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

你可以把.toString()看作是所有数字"对象"的方法。

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

myNumber.toString(); 

将myNumber转换为"字符串"。比如"abcd"。不是一个数字。

由于每个字符串都在 " 之间,

"1234" is a string, not a number.

所以

var myNumber2 = Number(myNumber);  

将该字符串转换为数字 1234 。"数字"是一个函数,用于将您传递的括号转换为数字。