函数
什么是函数?
- 实现特定功能的n条语句封装体
- 只有函数是可以执行的,其他类型的数据不能执行
为什么要用函数?
- 提高代码复用
- 便于阅读和交流
如何定义函数?
- 函数声明+表达式
- 直接调用test( )
- 通过对象调用obj.test()
- new调用new test()
- test.call/apply(obj)
回调函数
什么是回调函数
手动定义,但没有调用,最终执行了
常见的回调函数
- dom事件回调函数
- 定时器回调函数
- ajax请求回调函数
- 生命周期回调函数
IIFE
立即调用执行函数,隐藏实现,不会影响全局命名空间
用于编写js模块
(function (){
function test () {
console.log("hrllo")
}
//用该方法可以把test()暴露出去
window.$ = function(){
return {
test:test
}
}
})
//如何使用命名空间之外的函数
$().test()
this
this是什么?
任何函数都是通过某个对象来调用的
所有函数内部都有一个变量this
它的值是调用函数的对象(如果没有直接指定,就是window )
如何确定this的值?
window
对象p
新创建的对象new test()
p.call(obj)//this的值是obj
分号
小括号开头的要用分号(IIFE)
中括号开头的前一条语句要加分号