表达式VS运算符 ,傻傻分不清?

152 阅读3分钟

表达式VS运算符

很多刚入门JavasScript的初级学者,通常会因为一些概念比较模糊或者抽象摸不着头脑。其中JavaScript的表达式和运算符号就是其中的一组易混淆的概念。其实两者有本质上的区别,下面我们一起来总结和分析一下两者具体的含义。

运算符

JavaScript 拥有二元和一元运算符,和一个特殊的三元运算符(条件运算符)。操作数可以是数字,字符串,逻辑,对象值。字符串比较是基于标准的字典顺序,使用 Unicode 值。操作符可以由数字或字符组成,简单理解操作数是两个数字或则字母,当然也有更复杂的混合操作数的情况,这里暂且先不谈,我们先了解一下二元运算符,一个二元运算符需要两个操作数,它们分别在运算符的前面和后面:

  操作数1 运算符 操作数2

例如, 1+2或者x+y。

一个一元运算符就一个操作数字,通常就是只有一个数字或字符:

  运算符 操作数
  

例如,x++或者++x。

所以你应该大致了解,运算符就是我们通常理解的运算符号但是注意JavaScript有一些独特的运算符号,例如绝对等于===不等于!==求余数%等,它的总类也比较多,例如赋值运算符、比较运算符、算数运算符、逻辑运算符、字符串运算符以及例如, typeof特殊的运算符等,具体可以参考一些文档。

运算符我们级简单介绍到这里,其实简单理解就是连接并赋值给操作数的运算符号。

表达式

先来说说基本概念,表达式是一组代码的集合,它返回一个值。(定义比较不好理解,看下面的举例就很好懂了。)

每一个合法的表达式都能计算成某个值,但从概念上讲,有两种类型的表达式:有副作用的(比如赋值)和单纯计算求值的。

表达式 x=7 是第一类型的一个例子。该表达式使用=运算符将值 7 赋予变量 x。这个表达式自己的值等于 7。

代码 3 + 4 是第二个表达式类型的一个例子。该表达式使用 + 运算符把 3 和 4 加到一起但并没有把结果(7)赋值给一个变量。

JavaScript 有以下表达式类型:

  • 算数:得出一个数字,例如 3.14159。
  • 字符串:得出一个字符串,例如,"Fred" 或 "234"。
  • 逻辑值:得出 true 或者 false。
  • 基本表达式: javascript 中基本的关键字和一般表达式。
  • 左值表达式:分配给左值。

最常见的就是this基本表达式:

this["propertyName"]
this.propertyName

关键字被用于指代当前的对象,通常,this指代的是方法中正在被调用的对象。

function validate(obj, lowval, hival){
  if ((obj.value < lowval) || (obj.value > hival))
    console.log("Invalid Value!");
}

假设一个用于验证对象value属性的validate函数,传参有对象,最高值和最低值。

<p>Enter a number between 18 and 99:</p>
<input type="text" name="age" size=3 onChange="validate(this, 18, 99);">

你可以在任何表单元素的onchange事件处理中调用validat函数,用this来指代当前的表单元素。

这个例子可能有点难,具体大家可以在今后的实践过程中回想,相信会有更多的理解。以上就是表达式和运算符号的基本介绍啦~