变量和字面量

57 阅读2分钟

字面量

字面量就是一个一个的值,像1、2、'hello'、true、NaN ...

所有的字面量在JS中都可以直接使用,但是一般不会这么做

变量

  • 变量用来存储值,一个变量可以用来“存储”任意值
  • 并且变量中“存储”的值可以任意修改
  • JS中的变量并没有直接存储值,而是存储值的内存地址
  • JS中的变量更像是一个值的别名

变量的使用

声明变量:

  • let 变量名;
  • var 变量名;(老版本)
  • 为变量赋值
    • 变量名 = 值;
  • 声明和赋值同时进行
    • let 变量名 = 值;
    • var 变量名 = 值;
  • 声明常量
    • const 常量名 = 值;
  • 常量只能进行一次赋值

标识符

  • 在js中所有可以自主命名的内容都可以认为是标识符 像:变量名、函数名、类名、(属性名)
  • 规范:
    • 1.标识符中可以含有字母、数字、_、$,但是不能以数字开头
    • 2.标识符不能是js中的关键字和保留字,也不建议使用js中的函数、变量名作为标识符
    • 3.标识符采用驼峰命名法
      • 小驼峰
        • 首字母小写,每个单词开头大写,其余小写
        • xxxyyyzzz --> xxxYyyZzz
      • 大驼峰(类名)
        • 首字母大写写,每个单词开头大写,其余小写

        • xxxyyyzzz --> XxxYyyZzz

数据类型

基本数据类型(不可变类型)

  • string(字符串)

    • JS中的字符串使用引号引起来,单双都行,但是不要混合

    • 同类型的引号不要发生嵌套

    • 转义字符串,js中使用 \ 作为转义字符 ' --> ' " --> " \t --> 制表符 \n --> 换行 \ --> \

    • 模板字符串(新增的)

    • 使用 `(反单引号)来表示模板字符串

    • 模板字符串可以跨行使用,并且在模板中可以直接嵌入变量

      • 例子:
      • let str = xxxx ${变量};
      • 使用 typeof 检查一个字符串时,它会返回 'string'
    • number(数值)

      • 在js中所有的整数和浮点数(小数)都是number类型
      • 特殊的数字:
        • Infinity (无穷)
        • NaN (非法数字)
        • 其他进制的数字
        • 二进制:0b开头
        • 八进制:0o开头
        • 十六进制:0x开头
    • 在js中可以确保大部分的整数运算取得一个精确的结果(别太大),小数运算可能会得到一个近似值,所以不要直接在js中进行精度要求高的运算

      • 使用typeof检查数字时,会返回 'number'
      • 大整数(bigint)
      • ES2020中新推出的数值类型,大整数需要以n结尾。
      • 使用typeof检查大整数时,会返回 'bigint'
  • boolean(布尔值)

    • 布尔值用来进行逻辑判断,布尔值只有两个: true 表示真 false 表示假 - 使用typeof检查boolean时会返回 'boolean'
  • null(空值)

    • 空值用来表示一个空的对象,只有一个值 null
    • 使用typeof检查空值时,返回'object'
  • undefined(未定义)

    • 未定义用来表示声明但没有赋值的变量,只有一个值 undefined

    • 使用typeof检查未定义时,会返回 'undefined'

    • 一般我们不会主动使用undefined