基础语法
注释
单行注释: //
多行注释: /*注释的内容*/
语句
在JavaScript中,语句一般都采用分号结尾,每条语句占一行代码,一条语句后面不添加分号也不会报错,但是在 进行代码压缩的时候会带来一些问题。建议:每条语句结束的时候加上分号
标识符
硬性要求:
1·可以是数字,字母,下划线和美元符号组成.不允许包含其他特殊符号
2·不能以数字开头
3·禁止使用Java Script中的关键词和保留字来进行命名
4·要严格区分大小写
软性要求:
.望文知意
驼峰命名法
大驼峰就是每一个单词首字母大写 例如:UserName
小驼峰第一个单词首字母小写,后面单词的首字母都是大写 例如:userName
蛇形命名法
蛇形命名法的特点:单词与单词之间使用下划线进行分隔 例如:user_name,my_first_name
数据类型介绍
ES5规范:
1.字符串:string
2.数字:number
3.布尔: boolean 真/假 true/false
4.未定义:undefined
5.空:null
ES6规范:
6.唯一值:symbol
7.对象:object
1.基础数据 (简单的数据称为基础数据)
string,symbol,number,boolean,undefined,null
其中symbol类型是在ES6里面新添加的基本数据类型
2.应用数据 (复杂的数据称为应用数据)
object 包括java script中的数组,正则,其中的类型都是object类型
查看数据类型
console.log(typeof 123);
typeof查看数据类型
变量
变量:储存数据的容器,存在变量中的数据可以改变
1.变量的声明
ES5规范:var
ES6规范:let
常量:const声明常量
1.创建常量的同时必须赋值
2.不允许修改
3.不允许重复声明.变量也不行常量更不行
2.变量初始化
`let c = 123` 把123赋值给c
3.变量的赋值
`a = 123;` 把123赋值给了变量a
`console.log(a);` 输出变量a
4.变量声明的问题
重复声明
var:重复声明时会覆盖前面的变量
let:不允许重复声明
遗漏声明(访问一个不存在的变量)
给一个没有声明变量的时候不会报错,会通过ES5的方式创建出来
连续声明
`let x = 1, y = 1, z = 1;`
`let x = y = z = 1;`
5.变量的作用域(变量的作用范围:在哪个范围可以使用)
变量的作用域分为两种
1.全局作用域
2.局部作用域
`let a = 1;` 全局变量
ES5的局部作用域:通过函数进行划分
`function fn() {var b = 1; console.log(a);}``fn()`
ES6的局部作用域:通过大括号进行划分
`{let c = 2;`let的范围是用大括号来区分的
`var d = 2;}`var的范围是用函数来区分的
变量提升
在所有代码依次运行之前,会有一个解析代码(浏览但不会运行)的过程.在这个过程中,会找到所有通过var声明的变量,然后将"变量的声明"提升到代码头部(变量的赋值留在原位置).这个过程就叫做变量提升.
var有变量提升
let没有变量提升