一.引用方式
事件属性,和一个事件绑定,on+事件名称例如:onclick
1.行内脚本-在标签内使用
2.内部脚本-在/body前的script标签
3.外部脚本-用script src属性链接
二.常量与变量
直接使用的为字面量或直接量
变量:是需要声明和赋值的,可以实现数据共享
<script> let name = "lll" console.log(name) </script>
1.变量的第一次赋值为初始化
第二次为更新赋值
let name = "lll"
console.log(name)
name = "kkk"
console.log(name)
name = "null"
console.log(name)
给变量赋值为null时name没有值
推荐声明时直接初始化
2.常量
常量通常全大写,多个单词之间使用下划线
通常用const来声明
<SCript>
const GENDER = "female"
console.log(GENDER)
gender = "male"
console.log(GENDER)
</SCript>
用小写去改变常量时GENDER值不变
3.标识符
1.字母。数字,下划线,$,并且禁止数字开头,严格要求大小写
2.不能使用保留字或者关键字
let let = "abc"
console.log(let);;
4.命名方式
驼峰式:userName
/帕斯卡式:USerName
蛇形式:user_name
匈牙利式:将数据类型放到变量后 oname
JS推荐使用驼峰式
三.数据类型
1.原始类型 :数值(1213),字符(‘1213’),布尔(true,false)
undefined,null 特殊值
2.将特殊值以某种规则进行组合,就构成了复合类型
<script>
let name = 123
console.log(name, typeof name)
name = "'abc'"
console.log(name, typeof name)
name = true
console.log(name, typeof name)
name = null
console.log(name, typeof name)
name = num
console.log(name, typeof name)
</script>
引用类型(对象):对象object,数组array,函数function
let add = function (a, b) {
return a + b;
}
console.log(add, typeof add)
// 既然函数可以作为对象那我们也可以给对象属性
add.id = "123"
console.log(add.id)
// 数据的加减需要相同类型
console.log(100 + 100)
console.log(100 + "100")
console.log(100 + Number("100"))
""非严格判断,只检查值,不检查类型
""两边类型不同时,会自动触发类型的自动转换
console.log(100 == “100”);
“="要求值相等,且类型与相等才返回true
"=”:不会触发类型的自动转化,一般被推荐使用
四.函数的提升和重写
声明,调用,
<script>
// 函数的声明
function getname(name) {
return "欢迎:" + name
}
// 函数的调用
console.log(getname("小杰不易"))
// 函数是可以重写的
function getname(name) {
return "welcome:" + name
}
</script>
命名函数声明提升,如果不希望函数提升,必须先声明使用,用匿名函数
console.log(sum(1, 5))
function sum(a, b) {
return a + b
}
console.log(sum(1, 5))
// function sum(a, b) {
// return a + b
// }
let sum = function (a, b) {
return a + b
}
函数都是单值返回
1.必选参数
let sum = function (a, b) {
return console.log(a, b);;
};
2.默认参数
sum = function (a, b = 20) {
return a + b;
};
console.log(sum(1));
归并函数,reset语法,将所有参数压到一个数组来简化参数的获取过程
let sum = function (...arr) {
console.log(arr);
}
五.高阶函数
1.高阶函数:使用函数为参数或者将函数作为返回的函数
<script>
function demo(f) {
console.log(f);
return function () {
return "abc";
};
}
let f = demo();
console.log(f());
</script>
返回为函数
2.回调函数
document.addEventListener("click", function () {
alert("大家晚上好");
});
3.偏函数
let sum = function (a, b) {
return function (c, d) {
return a + b + c + d;
};
};
let res = sum(1)(2)(3)(4);
console.log(res);
4.纯函数:在函数内部没有引用外部数据的函数
let c = 100;
function add(a, b) {
return a + b;
// c来自函数外部,不是我自己的
// return a + b + c;
// 去掉c就是纯函数,此时函数的所有参数都必须是通过调用者传入的
}
六.箭头函数
匿名函数,可以使用箭头函数来简化它
如果箭头函数的代码体只有一行语句,可以删除大括号,自带return功能
如果函数中药使用到this,就不要使用箭头函数,不能当构造函数用
<script>
function sum(a, b) {
return a + b
}
sum = (a, b) => {
return a + b;
};
sum = (a, b) => a + b;
</script>
七.立即执行函数
1.声明
2.调用
// 声明
function sum(a, b) {
console.log(a + b);
}
// 调用
sum(100, 200);
立即执行函数可以吧声明和调用合二为一,声明后立刻执行 格式:()()
(function sum(a, b) {
console.log(a + b);
})(100, 600);