JS数据类型
常见的数据类型
null、undefined、number、string、boolean
ES6是新引入的原始数据类型,表示独一无二的值,不常用。
引用数据类型
Object、Array、Date、Function,…
js函数
普通函数
function name() {}
匿名函数
cosnt name = fucntion (){}
箭头函数
cosnt name = () => {}
参数类型
- 形参:函数声明时,函数圆括号内部的参数
- 实参:函数使用时,函数名后面圆括号内部的参数
- 剩余参数/归内参数 (参数声明时不确定函数所需参数个数时,可采用),例如
function name(...args) {};
作用域与闭包的关系与实现
作用域种类
- 全局作用域
- 函数作用域
- 块作用域
作用域是单向的,由外向内传递可以,由内向外不可以
闭包形成的条件
- 父子函数
- 自由变量
闭包函数示例:
const countTo = ((a) => {
return () => a++;
})(300);
console.log(countTo)); // 300
console.log(countTo)); // 301
模板字符串与标签函数的应用方法
模板字符串
传统字符串拼接
const x = 30;
const y = 5;
console.log(x+'-'+y+'='+(x-y));
模块字符串拼接
const x = 30;
const y = 5;
console.log(`${x}-${y}=${x-y}`);
标签函数
console.log`bread ${5} ${25} ${125} cake`;
function total(strings, ...args) {
let res = `${strings[0]}:${args.join()}乘积${args.reduce((x, y)=>x*y)}`;
console.log(res);
}
total`hello${21}${10}${9}${27}`;