欢迎光临散文网 会员登陆 & 注册

JavaScript | 运算符与表达式

2023-09-05 18:12 作者:麻辣小橘子_  | 我要投稿


这里是JavaScript系列教程第四期啦!

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。即使不是学习编程的,在学习数学的时候,就知道+-*%,这几个运算符。下面介绍几个常用的运算符。

赋值运算符将它右边的操作数的值赋给左边的操作数,最简单的就是等于(=),举个栗子:x=y。就是将y赋值给x。当然还有一些复合赋值运算符:

解构赋值语法是一个能从数组或对象对应的数组结构或对象字面量里提取数据的 Javascript 表达式。举个栗子:

// 数组const list = ['orange','blue','green']// 不使用结构const orange = list[0]const blue = list[1]const green = list[2]// 使用解构const [orange,blue,green] = list// 对象const person = {name:'orange',age:18}// 不使用解构let obj = {}const obj.name = person.nameconst obj.age = person.age// 使用解构obj = {...person}

比较运算符比较它的操作数并返回一个基于表达式是否为真的逻辑值。操作数可以是数字,字符串,逻辑,对象值。以下是常用的比较运算符:

算术运算符使用数值 (字面量或者变量) 作为操作数并返回一个数值。标准的算术运算符就是加减乘除 (+ - * /)。举个栗子:

const num = 22/2; // 12/num; // 12+num; // 42-num; // 02*num; // 4

以上是基本的加减乘除,在JavaScript中,还有其他常用的:

逻辑运算符也是非常重要的,简单的理解为有三种,且或非。

举个栗子:

let num1 = 1,num2 = 2;// 且num1 == 1 && num2 == 2 // truenum1 == 1 && num2 == 3 // false// 或num1 == 1 || num2 == 3 // truenum1 == 2 || num2 == 3 // false// 非!num2 // falseconst n1 = !true // falseconst n2 = !false; // true

条件运算符又被叫做三目运算符,是 JavaScript 中唯一需要三个操作数的运算符。运算的结果根据给定条件在两个值中取其一。语法为:

条件 ? 值 1 : 值 2

翻译一下,就是如果条件是真的,那么取值1,否则取值2。

举个栗子:

const age = 18const name = age>18?'orange':'alex'

翻译一下就是,定义一个年龄为18,定义一个姓名,如果年龄大于18的,姓名就是orange,否则就是alex。从以上代码看,结果就是alex

表达式

表达式是一组代码的集合,它返回一个值。表达式有很多类型:

  • 算术表达式,也就是通常使用加减乘除之类的算术运算符。

  • 字符串表达式,使用字符串运算符,类似于'age'+'18',结果为'age18'

  • 逻辑表达式 ,就是使用逻辑运算符的表达式。返回true或者false

  • 基本表达式,JavaScript中基本的关键字和一般表达式。

  • 左值表达式,分配给左值。

this关键字被用于指代当前的对象,通常,this指代的是方法中正在被调用的对象。先了解就好,知道有这个,以后会用到。

function 关键字定义了函数表达式。在es5 中,我们定义函数会使用function

class 关键字定义了类表达式。在一些抽象方法会使用。

这两个是配合使用的,表示的是异步使用方法,等待一个执行完毕后,在执行下一个。

new 运算符创建了构造函数实例。举个栗子:

const obj = new Object() // 定义一个对象const arr = new Array() // 定义一个数组const str = new String() // 定义一个字符串const num = new Number() // 定义一个数值...

super 关键字调用父类的构造器。这个一般在使用class类定义一个类后,又使用class定义一个子类,子类需要继承父类的属性时候,就会使用到super。举个栗子:

class Person {  constuctor(name,age){    this.name = name    this.age = age    this.id = '1'  }  logAll(){    console.log('名字叫做:' + this.name + '年龄为:' + this.age + 'id为' + this.id)  }}class Student extends Person {  constuctor(address){    super(address) // 我们必须先使用super,下面才能使用this获取id    this.id = '2' // 这里就是继承了Person类里面的属性id,并且更改了它,  }}

当然以上的class是属于高阶进阶的语法,所以目前知道就好了,后面进阶可以学习使用。

以上就是本期的所有内容了,也算是当我复习了一遍,如果有什么错误的地方,欢迎指正,如果有什么不懂的地方,也欢迎询问呀!

JavaScript | 运算符与表达式的评论 (共 条)

分享到微博请遵守国家法律