函数介绍
函数概念: 函数(function),也叫作功能、方法,函数可以将一段代码一起封装起来,被封装起来的函数具备某一项特殊的功能,内部封装的一段代码作为一个完整的结构体,要执行就都执行,要不执行就都不执行。 将一段代码封装起来,将来可以重复使用,一块代码多要使用,但是写着还麻烦,所以这里函数就有很大的作用 ,将多次写但是还是重复的代码,可以用函数封装起来,哪里用到,就可以最直接调用函数。
六种函数
- 箭头函数
const fun = () =>{
}
- 普通函数
function fn(形参){
console.log('Hello')
}
//调用
fu(实参)
- 对象方法
let obj = {
show(){
console.log('htllo')
}
}
//调用
对象名.函数名()
obj.show()
- 构造函数
function Show(){};
//调用
new Star()
- 绑定事件
btn.onclick = function(){}
点击按钮就会调用这个函数
- 定时器函数
setInterval(function(){
console.log('Hello')
},1000)
每隔1秒钟就会被调用
- 立即执行函数
(function(){
console.log('htllo')
})()
自己调用自己
- 自调用函数相当于一次性的东西,执行一次就会被销毁,外面是无法调用,而且 函数内部参数是不可以在外面调用,只能在函数内部进行使用;
- 可以利用
IIFE自调用函数
来封主函数的作用域
this的指向
- 箭头函数内部的this的指向
setInterval(()=>{
console.log(1111)
})
箭头函数自己并没有this,所以函数里面书写this会参考外面的this。
- 在普通函数里面this指向
function fn(){
console.log(this)
}
//调用
fu()
在普通函数里面this的指向是window还是函数的调用者
- 在对象里面this的指向是
let obj = {
show(){
console.log(this)
}
}
obj.show()
在对象里面this指向的是对象也就是obj
- 在构造函数里this指向
function Show(){};
//调用
let mo = new Star()
在构造函数里面 this的指向是实例对象 mo
- 在绑定事件里面this指向
btn.onclick = function(){}
指向的是函数的调用者btn
- 定时器里面this
setInterval(function(){
console.log(this)
},1000)
指向的是window
- 立即指向函数
(function(){
console.log(this)
})()
指向的还是window
调用方式 | this指向 |
---|---|
普通函数 | window |
构造函数 | 实例对象,原型里面this指向也是实例对象 |
对象方法 | 该方法所在的对象 |
事件绑定 | 绑定事件对象 |
定时器 | window |
立即执行函数 | window |