变量
let a; // 声明变量
a=10; // 第一次赋值:初始化
let a = 10; // 简写:两步变一步
a = 20; // 以后每次赋值就是:更新
命名规则:
- 驼峰式:
1、小驼峰:userName,用于变量、函数(动词+名词,如:getUserInfo())
2、大驼峰:UserName,用于类、构造函数 - 蛇形:
1、user_name,多个单词之间用下划线
常量
const APP_NAME = '商城';
- 全部使用大写字母
- 多个单词之间用下划线 如:USER_EMAIL
- 常量不可更新
- 实际开发中尽量使用常量,在DOM操作中会把变量作为对象的属性来处理。
作用域
- 块:{},代码块外部不能访问内部变量
- 函数:f(){},函数内部的声明为私有/局部变量,外部不可访问
- 全局:let a=10,是在代码块、函数外部声明的
- 作用域链:在代码执行的时候,查找变量优先从内部作用域开始查找
标识符
- 可以使用字母、数字、下划线、$
- 不可以使用数字开头
函数
- 命名函数
function getUserName(参数1,参数2...){
..//操作
return //返回值必须有,否则将返回undefined
};
getUserName(参数) //调用,给参数
- 匿名函数:
- 形式一:
需要放进一个容器(变量)中let getUserName = function (参数1,参数2...){
..//操作
return
};
- 形式二:
a. 不需要放进容器(变量)中,是只用一次的匿名函数,为“立即执行函数”简称IIFE。
b. 它可以创建一个临时作用域,适合写模块。
c. 用法:用大括号()包裹起来,后面加上(参数)即可。(
function (参数){
..//操作
return
}(传参)
);
- 箭头函数:就是匿名函数的简化形式/语法糖
下面这段代码是匿名函数正常书写模式
let getUserName = function (参数1,参数2...){
..//操作
return
};
把上面代码改成成箭头函数
getUserName = (参数...) => {
..//操作
return
};
console.log(getUserName('传参'));
√ 特殊情况1:
如果操作只有一条语句,可以省去大括号{}和return
f = (x,y) => x+y;
console.log(f(10,20))
√ 特殊情况2:
如果只有一个参数,可以省去参数列表的圆括号()
f = x => 'x的值是' + x;
console.log(f(10));
√ 特殊情况3:
如果没有参数,不能省去参数列表的圆括号()
f = () => '这是没有参数的箭头函数,一句话代码';
console.log(f());