如何确定操作员的位置

时间:2019-01-23 21:27:03

标签: javascript methods properties placement

我对运营商的位置感到困惑: 鉴于:

var a = [0, 1, 2];

据我所知,以下各项都是正确的:

var len = a.length;
var lastElt = a.pop();
var str = String(a);
var typeStr = typeof a;

是否有一种简单的方法来记住/思考运算符是在操作数之前还是之后,以及是否需要括号?还是仅仅是死记硬背?

谢谢。

4 个答案:

答案 0 :(得分:0)

走吧:

案例1

var len = a.length;

在这种情况下,您要在变量lenght中调用数组存储的方法a

案例2

var lastElt = a.pop();

和以前一样,这里您要调用数组的方法pop

案例3

var str = String(a);

您没有调用任何数组的方法。在这里,您要转换数组。即您要对数组进行字符串化。

案例4

var typeStr = typeof a;

这里您也没有调用任何数组的方法。您正在调用窗口对象的typeof方法,并将数组a作为参数传递。

如您所见。在前两种情况下,您要调用数组的方法。在后两种情况下,您将调用window对象的方法,并将数组作为参数传递。

答案 1 :(得分:0)

您的列表中大多数是不是运算符的内容:

  • length是属于property对象的Array。它返回Array中的项目数。
  • pop()是属于method对象的Array。它将Array中的最后一项删除并重新调整。
  • String()是全局对象,它是constructor对象的String。它以任何对象作为参数并将其转换为String
  • typeof 运算符。它返回一个字符串,该字符串指示后续操作数的类型。

有关更多信息,请参阅以下有关JavaScript operators的信息。

我强烈建议您在Google上搜索一些入门的JavaScript教程,以便您学习基本概念。

答案 2 :(得分:0)

感谢所有的及时答复。回答“在这里您所说的“操作员”是什么意思?”的问题。我来自数学和(最新)c编程的背景。通过“运算符”,我想抽象地谈论将其参数映射到有用的东西的任何事物,并使用它包含方法,属性等,而无需列举它们。我尝试抽象这些内容可能是造成我困惑的原因。我现在知道,需要死记硬背,就像拉丁语中的declensions ;-)。

答案 3 :(得分:-1)

运算符指的是+,= *等。

我认为没有容易记住的方法。如果是“财产”,将没有括号。如果是函数,将带有括号。我始终记得length是数组的属性,而push和pop是您可以对数组执行的操作。类型转换始终以大写的“类型”开头,后跟要在括号中转换的内容。 typeof只是一个怪异的。