Javascript:为什么有些变量在( )中,有些变量在关键字之前
Javascript: Why do some variables go in ( ) and some go before keywords?
我不明白的一件事是,为什么有时你把变量放在( )里面,有时你把它们放在带有句点的关键字之前。 有这方面的规定吗? 它有名字吗? 我怎么知道,我怎么记住? 这给我带来了一些困惑。示例如下:
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
。"数字"是一个函数,用于将您传递的括号转换为数字。
相关文章:
- delete关键字在全局变量上的不同行为
- 在构建字典时,作为关键字的变量会自动变为字符串
- 使用javascript中的var关键字创建块范围的变量
- 创建不带 var 关键字的全局变量时出现意外行为
- Chrome扩展:storage.set()不接受变量作为关键字
- 为什么在没有 var 关键字的情况下分配给变量时会出现引用错误
- Javascript - 使用变量 RegExp 匹配数据数组中的多个关键字
- 如何在 javascript 中使用 const 关键字 (ecma 6) 和函数静态变量
- 在搜索中突出显示关键字会破坏 URL 变量的传递
- Javascript Shadowing - 如果您尝试使用 VAR 关键字更改不存在的全局变量,则会产生效果
- Pegjs:不允许保留关键字作为变量名称
- Javascript:为什么有些变量在( )中,有些变量在关键字之前
- 在JS中,除了使用var关键字之外,还有其他方法来初始化变量吗?
- 在Javascript中定义变量时使用var关键字
- Javascript this关键字和变量指向一个对象方法
- 如何获得变量关键字而不是变量值
- 从构造函数中引用Javascript实例变量而不使用'this'关键字
- 声明不带var关键字和逻辑OR的变量
- 在javascript中,预定义的全局变量和关键字有什么区别?
- 在JavaScript中定义全局变量时省略var关键字