什么是函数?
编程实现:根据年龄输出对应消息功能
function showInfo(age){
if (age<18){
console.log('未成年')
}
else if(age>60){
console.log('超过限制年龄')
}else {
console.log('刚好')
}
}
因此,函数就是
- 实现特定功能的n条语句的封装体
- 只有函数是可以执行的,其他类型的数据不能执行
为什么要用函数?
- 提高代码复用性
- 便于阅读交流
如何定义函数?
function fn1() {
console.log('函数声明')
}
var fn2 = function (){
console.log('表达式')
}
使用表达式的方法可以实现变量提升
JavaScript中奇怪的一点是你可以在变量和函数声明之前使用它们。就好像是变量声明和函数声明被提升了代码的顶部一样。
如何执行函数?
- test():直接调用
- obj.test():通过对象调用
- new test():new调用
- test.call/apply(obj):临时让test成为obj的方法进行调用;即可以让一个函数成为指定任意对象的方法进行调用
var obj = {}
function test2() {
this.xxx = 'test2'
}
test2.call(obj)//obj.test2() 不能直接调用 obj根本没有
console.log(obj.xxx)//可以让一个函数成为指定任意对象的方法进行调用