JavaScript 初学习
序:
0.1 js是前端通用的脚本语言
0.2 分为内联脚本(写在事件属性总)、内部脚本(写在script中)、外部脚本(写在script:src属性中)
1.常量
1.1 使用const进行声明
// 常量声明时就需赋值,后续不可更新
const num=888;
2.变量
2.1 使用let进行声明
// 变量声明
let userName;
// 声明并赋值
let userName2="景云";
// 更新
userName2="景云 Plus";
变量和常量只能用字母、数字(不能以数字开头)、下划线;严格区分大小写;不得使用关键字可保留字。
3.函数
3.1 会被自动提升到顶部;可以被重写
3.2 函数的参数
//其中a和b为必选参数
let sum=function(a,b){
return a+b;
}
console.log(sum(1,2));//结果为3
// 可设置默认参数b
sum=function(a,b=3){
return a+b;
}
console.log(sum(1));//结果为4
sum=function(a,b,c,d){
return a+b+c+d;
}
console.log(sum(1,2,3,4));//结果为10
// 归内参数:可将上面类似的函数简化其参数声明
sum=function(...arr){
return arr.reduce(function(a,z){
return a+z;
});
}
console.log(sum(1,22,3,4));//结果为30
let params=[1,22,3,4];
//扩展参数:...,用来简化函数的调用参数
console.log(sum(...params));//结果为30
3.3 函数的返回值
函数的返回值都是单值,如果想返回多个值,可将结果封装到数组或对象中
let getItems=function(){
return [100,'phone',2333];
}
console.log(getItems());
getItems=function(){
return {id:100,name:'phone',price:2333};
}
console.table(getItems());
4.匿名函数
不可以提升;声明为常量即不可重写
5.箭头函数:用来简化匿名函数的声明,只有匿名函数才能用箭头函数
// 将3.2中的sum函数改为箭头函数
sum=(a,b)=>{
return a+b;
}
console.log(sum(100,200));
// 如果函数体只有一条语句,可不写return
sum=(a,b)=> a+b;
console.log(sum(100,200));
// 只有一个参数,小括号也可以不写
sum=a=> console.log(a);
sum("aaa");
// 如果没有参数,小括号不可以省略
sum=()=>console.log("sss");
sum();
6.闭包:能够访问自由变量的函数,理论上讲任何函数都是闭包。
例子,其中num为自由变量,b为参数变量,c为私有变量。
let num=20;
function a(b){
let c=100;
return b+c+num;
}
7.高阶函数:使用函数为参数或者将函数作为返回值的函数
7.1 回调函数
7.2 偏函数:简化了声明时的参数声明
7.3 纯函数:完全独立于调用上下文,返回值只能受到传入的参数影响
8.立即执行函数 IIFE :声明完直接调用
function sum2(a,b){
console.log(a+b);
}
sum2(10,210);
// 将上面的函数修改为立即执行函数
(function(a,b){
console.log(a+b);
})(20,30);