JavaScript变量、数据类型、运算符

53 阅读3分钟

使用方法

1.在页面引入js文件

<script src="js文件的地址"></script>

2.写在

<script>js代码</sctipt>

  • JavaScript 建议放在 body 标签内部的最后

变量 variable

  • 用来存储数据的符号
  • 有三种方式声明变量,分别是var、let、const

变量存储在哪里?

变量将数据的地址存储在栈内存中,地址指向堆内存中的数据

标识符规范——变量命名规则

  • 变量的名字叫做标识符

1.必须以字母、下划线_或者$开头

2.后续的字符可以是数字 (0-9)、字母、下划线、$

3.区分大小写

4.中文是合法的标识符,但尽量少用

5.保留字不能作为标识符,如with、super、while、function、new、null、do等等

  • 合法的标识符

1.let $this = 'hello'

2.var _color= 'red'

3.let $$ = function() {}

4.let 饥人谷 = '培养***'

  • 不合法的,如

let 8bye = 88 //不能以数字开头

let helo+world = 'good' //+号不能用于命名变量

表达式 Expression

  • 是一个值,或者说能运算出一个值,比如说

1

2 + 3

3 > 2

a = 5

运算符 Operator

  • 用于连接表达式,组成更复杂的表达式,如上面代码中的

+、>、=......

语句 Statement

  • 语句是一行任务指令的代码,用分号(semicolon)即 ; 结尾
  • 如果一条语句独占一行的话,那么分号是可以省略的
  • 如果一行中有多条语句,那么这些语句必须以分号结尾

八种数据类型 type of data

  • 七种原始类型 primitive type

布尔值 Boolean,只有两个值分别是true和false

null,表示空值,是null而不是 Null 和 NULL

undefined,表示变量未定义时候的值

数字 Number,整数或浮点数,比如100、3.16。数字大小有限制,(-2~2)的52次方

任意精度整数 BigInt,当数字超出 ‘(-2~2)的52次方’ 这个范围,可以使用 BigInt 存储,如

let b = 2的53次方n,注意:后面必须+n,不能是其它字母

字符串 String,如 ‘吴佳俊',

Symbol,创建一个独一无二的值 let key = Symbol()

  • 一种复合类型 complex type

除了上述七种原始类型,其它都是对象 Object,比如狭义的对象、函数、数组等

对象是多个属性:值的集合

typeof 用于确定变量的类型

let str = '哈哈哈'; typeof str 得到 'string'

let num = 111; typeof num 得到 'number'; typeof num === 'number'

  • 可用于判断变量的数据类型
  • typeof 函数会得到 function
  • typeof null 会得到 objcet

算术运算符

  • 加法 Addition: x + y
  • 减法 Subtraction: x - y
  • 乘法 Multiplication:x * y
  • 除法 Division:x / y
  • 余数 Remainder:x % y
  • 自增 Increment:++x 或 x++

let a = 2; let b = a++; //此时,b=2 a=3整体代表一个值,这个值是a,之后a自增1,a--同理

let a = 3; let b = --a; //此时,a=2 b=2整体代表一个值,先自减,再赋值,++a同理

  • 自减 Decrement:--x 或者 x--
  • x += y 等同于 x = x+y
  • x %= y 等同于 x = x%y
  • x ** y 等同于 x的y次方

加减乘除余中,除了加法,其余算术运算符只能运算数字

let x = 'halo', b = 'gorge'; a + b 得到 'halogorge'; a - b 得到NaN

  • 在加法运算符中,两个参数都是字符串或在有一个参数是字符串的情况下会把另一个参数转换为字符串做字符串拼接

比较运算符

比较运算符连接两个表达式,得到一个结果(表达式),值得类型是Boolean(true/false)

  • == 相等 经过类型转换后相等
  • === 严格相等,类型和值完全相等
  • != 不相等 ,经过类型转换后仍然不相等
  • !== 严格不相等,类型或值不相等
  • 大于

  • < 小于
  • = 大于或等于

  • <= 小于或等于

布尔运算符

  • ! 取反运算符

!true === false

  • x && y 且运算符

let a = 3; let b = 4; a && b 的值为b; //取后面的值

a>1 && b>1 的值为true //两边均为true,则为true

a<1 && b>1 的值为false //两边有一个为false,则为false

  • x || y 或运算符

let a = 3; let b = 4; a || b 的值为a; //取前面的值

a>1 || b<1 的值为true //两边其一为true,则为true

a<1 || b<1 的值为false //两边均为false,则为false

  • isTrue ? a : b 三元条件运算符

isTrue为验证语句,true则执行a,false则执行b

其它运算符

  • void

void x; //x=undefined