查看结果的方式
alert(100+200); //alert()对话框
console.log(100+200); //控制台
标识命名规则
1.必须使用英文字母,数字,下划线“_”,$,这四种来命名
命名网格
1.蛇行:user_name, 多个单词之间用下划线,常用于常量
2.驼峰:userName,getUserName,第二个单词起首字母大写,用在变量,函数
3.大驼峰:UserName, 帕斯卡 ,用在类/构造函数
变量声明 let 禁止重复声明同一个变量
第一次赋值叫:初始化
第二次赋值叫:更新/修改
常量声明 const 代码执行过程中不允许更新的数据
声明时必须赋值,名称全部大写
原始数据类型:数值 number(整数和小数),字符串 string,布尔值 boolean,undefined,null
typeof 变量名 :查看变量数据类型
字符串拼接采用“+”进行连接
引用类型:数组(array),对象(object),函数(function)
数组:[1,2,3],数据放在[]方括号内,使用 变量名[索引] 访问数组成员
对象:{name:”电脑”} 数据放在{}花括号内,可用console.table(变量名称)查看数据,
使用点语法访问对象数据:变量名.属性名 item.name
当属性使用非法标识符时,必须转为字符串 “ ”
函数声明: function 函数名(参数){} ; function getTotal(name) {}
函数调用:函数名() ; getTotal()
查看函数名称:函数名.name ; getTotal.name
查看参数数量:函数名.length ; getTotal.length
函数封装,将表达式放入函数中
function getTotal(price,quan) {
let jinge = 0;
jinge = price + quan;
console.log("jinge=" + jinge);
}
getTotal(60,50)
getTotal(86,17)
解决函数参数过多方案
// 使用... rest参数来解决参数过多的问题,也叫归内参数/剩余参数/不定参数,将多余的参数放到一个数组中
// ...:用在函数的形参中,就是rest,将剩余参数放到一个数组中
// ...:用在函数的调用参数中,就是将参数展开
let list = [10,20,30,40];
function getTotal2(... a) {
console.log("a = ",a.reduce((p,c) => p + c ));
}
getTotal2(10,20,30,40,50,60)
匿名函数,没有函数名的函数,分为一次性函数,可复用函数
// 一次性函数,写完立即调用 IIFE
(function(a,b){console.log(a+b);})(20,30);
// 可复用函数,使用函数表达式
let add = function(a,b){console.log(a+b);}
add(100,300);
// 使用“箭头函数” 简化 “函数表达”
// 胖箭头:=>
// 瘦箭头:->
add = (a,b) => {return a+b};
console.log(add(10,20));
// 只有一行代码时,大括号可以不要
add = (a,b) => a+b;
console.log(add(10,20));
// 只有一个参数时,花括号可以不要
add = a => a+10;
console.log(add(10));
// 没有参数时,一定要花括号
add = () => 20+10;
console.log(add());
9.全局作用域:位于函数外
函数作用域:位于函数内
函数内的变量先从函数内部查询,有就直接方位
没有,就向一个作用域查询,一级一级往上,直到全局
作用域链,查询变量用的
10.闭包:条件:1.父子函数 2.自由变量
a 从外部传入参数,为自由变量
b,c 为函数内变量,为自有变量
函数闭包
function par(a){
function f(b){
let c = 5;
return a + b + c;
}
return f;
}
//调用函数,产生闭包
console.log(par(3));
const f1 = par(5);//a = 5
console.log(f1);
console.log(f1(8));//b = 8
this 表示当前对象
模板字符串:``,使用反引号包裹,可换行,变量使用:${},引用
// 标签函数:使用“模板字符串”为参数的函数
total`数量:${10} 单价:${90}`;
function total(strings, num, price) {
console.log(strings);
console.log(num, price);
let res = `${strings[0]}${10}${strings[1]}${90},总金额:${num * price} 元`;
console.log(res);
}
// 模板字符串参数中的占位符比较多,可以用rest进行归并
sum`计算多个数之和: ${5}${6}${7}${8}${9}`;
function sum(strings, ...args){
console.log(`${args.join()}之和是${args.reduce((p,c) => p+c)}`);
}