变量定义
一个可以变化的量、一个名字,这个名字可以代表和存储不同的数据值,而且存储的数据值是可以改变的
var n = 1;
n = 2;
(n是变量,可以改变;1或者2:这种具体的值是常量)
声明变量的方式 declare
- 传统方案(ES3/ES5):var / function
var n :
function fn(){}; 声明一个变量叫做fn,只不过存储的数据值是一个函数
- 新的方案(ES6 ES6+):let / const / import
let m;
const x;
import z from './xx'; ES6 Module中的模块导入,把导入的模块存储到z变量中
命名规范
数字、字母、下划线、$命名
数字不可以是名字的开始!否则会报错
建议$一般会作为名字的开始,很少会放在中间
约定俗成的一些特点:
$开始的变量一般用来存储JQ获取的
_开始的变量一般代表全局或者公共的……
使用驼峰命名法
复杂的名称由多个单词拼接成(单词的简拼)
第一个单词首字母小写,其余每一个有意义单词的首字母大写
语意化要明显,少使用a/b/c/d等等无意义的字母
不能使用关键字和保留字
关键字:JS中有特殊含义的,有一些字符用来完成一些固定的功能或表达固定的意义,它们不能用来当做变量,这样的字符就叫做关键字,例如:var let const function import break continue return……
保留字:未来会成为关键字,现在保留下来的,是JavaScript中已经定义过的字,由于考虑扩展性,一些保留字可能并没有应用于当前的语法中,这是保留字与关键字的区别(就是说现在不是关键字,但以后有可能要成为关键字的这些词,就是保留字)
整理关键字和保留字都有哪些
关键字26个(带*的为第5版新增关键字)如下:
break do instanceof typeof case else new var catch finally return void continue for switch while *debuggerfunction this with default if throw delete in try
我们可以看到关键字确实很特殊,记忆的话大致可以分为几类记忆:
条件语句类:for in ,do while , switch case , with
判断类语句 : if else , try catch , throw
结束类语句 : break , return , continue , default ,finally
检测元素类型:instanceof , typeof
申明函数对象类 : new , var , void , function
调试操作类:*debugger , delete
特殊关键字 : this
保留字31个(第3版)如下:
abstract boolean byte char class const debugger double enum exprot extends final float goto implements
import int interface long native package private protected public short static super synchronized throws
transient volatile