本文最后更新于 37 天前,其中的信息可能已经过时,如有 错误/失效 请发送邮件到wenwanfj@gmail.com或留言。
变量用于存储数据
需要先声明变量,才能使用
声明变量使用关键词主要有三个:let、const、var
var关键词是老版本(ES5)JS所使用,现在已经淘汰
let
let是新版本用于声明变量的关键词,let声明的变量为普通变量
用法:
let a = 1
// 或者
let a
a = 1
上述使用let
声明一个变量,变量名为a
,值为1
变量的使用
正确用法:
// 先声明变量【此为注释】
let a = 1 // 声明时进行赋值
// 后使用变量
alert(a) // 此处浏览器弹窗:1
上述代码也可以
let a // let变量可以声明时不赋值
a = 1 // 对变量a进行赋值
alert(a) // 弹窗:1
错误用法:
// 此处先使用变量
alert(a) // 此处会报错
// 后进行声明,为错误用法,因为在使用时,变量未被声明,所以会报错
let a = 1
结论:
变量必须先声明后使用!!!
先使用,后声明会报错
变量的声明
在同一环境中(同一作用域内)所有变量名称不能冲突,否则报错
let a = 1
// 此处为其他代码
let a = 1 // 此处会报错
结论:
变量禁止在同一作用域内重复声明
作用域的概念在后续章节进行讲解
更改变量值
let声明的变量的值可以进行更改
let a = 1
alert(a) // 此处弹窗:1
a = 2 // 此处更改了变量a的值为2,后续再使用a时,值就是a
alert(a) // 此处弹窗:2
结论:
更改已声明变量的值时,直接对变量赋值即可,无需写声明关键词
const
const
所声明的变量为常量,而非普通变量
常量:常量是一种特殊的变量,该变量的值必须在声明时就设置,且后续无法进行更改。
const a = 1 // 声明常量a,值为1
a = 2 // 此处修改常量的值是违规操作,所以会报错
除此之外,const
常量的特性跟let
变量一致。
关键字保留字列表
abstract | arguments | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class* | const |
continue | debugger | default | delete | do |
double | else | enum* | eval | export* |
extends* | false | final | finally | float |
for | function | goto | if | implements |
import* | in | instanceof | int | interface |
let | long | native | new | null |
package | private | protected | public | return |
short | static | super* | switch | synchronized |
this | throw | throws | transient | true |
try | typeof | var | void | volatile |
while | with | yield |
对象和方法
Array | Date | eval | function | hasOwnProperty |
---|---|---|---|---|
Infinity | isFinite | isNaN | isPrototypeOf | length |
Math | NaN | name | Number | Object |
prototype | String | toString | undefined | valueOf |
window对象下的关键字
alert | all | anchor | anchors | area |
---|---|---|---|---|
assign | blur | button | checkbox | clearInterval |
clearTimeout | clientInformation | close | closed | confirm |
constructor | crypto | decodeURI | decodeURIComponent | defaultStatus |
document | element | elements | embed | embeds |
encodeURI | encodeURIComponent | escape | event | fileUpload |
focus | form | forms | frame | innerHeight |
innerWidth | layer | layers | link | location |
mimeTypes | navigate | navigator | frames | frameRate |
hidden | history | image | images | offscreenBuffering |
open | opener | option | outerHeight | outerWidth |
packages | pageXOffset | pageYOffset | parent | parseFloat |
parseInt | password | pkcs11 | plugin | prompt |
propertyIsEnum | radio | reset | screenX | screenY |
scroll | secure | select | self | setInterval |
setTimeout | status | submit | taint | text |
textarea | top | unescape | untaint | window |
需要注意的是name
这个字 ,不是关键字也不是保留字,在大部分浏览器和情况下能当作变量使用,但是可能会有极个别和特殊的情况出现异常