JS学习笔记(四)基础语法知识

193 阅读2分钟

运算符

加号 :通常用来 求和,还可以用作其他功能,如下

  • 字符串连接功能:可以用来连接如果任一运算元是字符串,那么其它运算元将被转化为字符串
  • 数字转化功能:加号 + 应用于单个值,对数字没有作用。但是如果运算元是非数字,它会将其转化为数字。

赋值运算符

每个运算符都有一个返回值,等号也有,如: 语句x= valuevalue的值写入x然后返回x。

幂运算符

对于自然数b,a**b 表示a与自己相乘b次

自相加/自相减

自相加/自相减 只能用于变量,用于数值会报错。

自相加/自相减可以放在变量前或者变量后。区别在于返回值。 前置形式返回一个新的值,后置返回原来的值(做加法或者减法之前的值)

// 前置形式
let a = 1;
let b = ++a
console.log(b)// 2
// 后置形式
let c= 1;
let d =  C++
console.log(d)//1

如果自相加/自相减的值没有被使用,那么两者没有区别。

如果需要对变量进行自相加并且立即使用值,那么需要使用前置形式

逗号运算符

是最少最不常使用的运算符之一,有时候会被用来写更简短的代码。

let a = (1+2,3+4)
console.log(a)//7
// 第一个预计1+2执行了,但是它的结果被丢弃了,然后3+4运行,返回7

逗号运算符的优先级很低,比=还低 ##值的比较

字符串之间的比较

在比较字符串的大小时,是按字符逐个进行比较的,按照Unicode 编码顺序

alert('Z'>'A')// true

规则: 首先比较两个字符串的首位字符的大小,如果一方字符较大,则该字符串大于另外一个字符,算法结束。如果两个字符串的首个字符相等,则比较下一位字符。

不同类型之间的比较

不同类型的值进行比较,会先转化为数字 再判定大小。

严格相等

普通的相等性检查 == 存在一个问题,不能区分0和false。

alert(0 == false) // true
alert(0 === true) // false

null和undefined的比较

alert(null == undefined) // true
alert(null === undefined)// false

注意:在使用 > 或 < 进行比较时,需要注意变量可能为 null/undefined 的情况。比较好的方法是单独检查变量是否等于 null/undefined。