我对运营商的位置感到困惑: 鉴于:
var a = [0, 1, 2];
据我所知,以下各项都是正确的:
var len = a.length;
var lastElt = a.pop();
var str = String(a);
var typeStr = typeof a;
是否有一种简单的方法来记住/思考运算符是在操作数之前还是之后,以及是否需要括号?还是仅仅是死记硬背?
谢谢。
答案 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只是一个怪异的。