1.声明变量关键词
变量用于存储数据
需要先声明变量,才能使用
声明变量使用的关键词主要有三个:let、const、var
var关键词是老版本(ES5)JS所使用,现在已经淘汰
2.let
let是新版本用于声明变量的关键词,let声明的变量为普通变量
用法:
let a = 1
// 或者
let a
a = 1
上述使用let
声明一个变量,变量名为a
,值为1
3.变量的使用
正确用法:
// 先声明变量【此为注释】
let a = 1 // 声明时进行赋值
// 后使用变量
alert(a) // 此处浏览器弹窗:1
上述代码也可以
let a // let变量可以声明时不赋值
a = 1 // 对变量a进行赋值
alert(a) // 弹窗:1
错误用法:
// 此处先使用变量
alert(a) // 此处会报错
// 后进行声明,为错误用法,因为在使用时,变量未被声明,所以会报错
let a = 1
结论:
变量必须先声明后使用!
先使用,后声明会报错
4.变量的声明
在同一环境中(同一作用域内)所有变量名称不能冲突,否则报错
let a = 1
// 此处为其他代码
let a = 1 // 此处会报错
结论:
变量禁止在同一作用域内重复声明
5.更改变量值
let声明的变量的值可以进行更改
let a = 1
alert(a) // 此处弹窗:1
a = 2 // 此处更改了变量a的值为2,后续再使用a时,值就是a
alert(a) // 此处弹窗:2
结论:
更改已声明变量的值时,直接对变量赋值即可,无需写声明关键词
6.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这个词 ,不是关键字也不是保留字,在大部分浏览器和大部分情况下能当作变量使用,但是可能会有极个别和特殊的情况出现异常
7.其他注意事项
js代码的存放位置:
1.内部:head标签内的script标签内、body结束标签之前的script标签内
2.标签内部:和html的耦合度太高,不利于维护。例如:<div id="box" οnclick='alert("你真棒")'>123</div>
3.外部的js文件:<script src="xxx.js"></script>
注意:外部引入的script标签内不要再写js代码了
alert('ysc') 弹窗
console.log()调试窗口、日志:把括号内的本体打印到控制台
书写规范:
①严格区分大小写
②英文半角输入
③严格缩进、换行、对齐、空格,为了维护性、美观性和可读性
④语句结束加分号;(没加大部分情况也没问题)
注释方式:
①单行注释//
②/*
多行注释
*/
变量的命名规范:
①最好见名知意
②字母、数字、_ 和$的组合且不能以数字开头,常用的有驼峰命名法
③不能使用关键词(js里已经用了的词汇)、保留词(js未来版本可能要用的词汇)
变量声明的几种情况:
①声明变量且赋值(常规)
let num = 1
②声明变量,暂时不赋值
let box;默认值为undefined
③声明变量,先运算再赋值
let a = 1
let b = a + 1
console.log(b);
④重复声明会报错
let b = a + 12
let b = "ysc"
console.log(b);
⑤一次性声明多个变量用逗号隔开
let a = 1,
b = 2,
c = 3;
console.log(a,b);
⑥不写声明关键词(不要这样做)
a = 1
a会挂载到window对象下,变成window的属性:window.a
let声明的变量就不会这样
⑦不声明直接使用会报错
⑧声明并重复赋值,后者会覆盖前者
let a = 2
a = "ysc"
console.log(a)