函数
函数概念
将任意代码封装到一起,需要用的时候进行调用执行
语法
function 函数名(){
封装代码
}
函数名()函数调用语句
function fun(){
console.log('hello')
}
fun()
函数参数
function fun(m){
console.log('m',m)
}
fun(100)
1.形参:定义函数时,在函数括号中定义的变量称为形参
2.实参:使用函数调用语句,调用函数时,传入的实际参数
参数个数
function fun(m,n){
console.log('m',m)
}
fun(100,200)
函数返回值
return返回的意思,就是给函数一个返回值和中断函数
函数类型
根据函数参数和返回值,分为四类
1.无参无返回值
function fun(){
}
fun()
2.有参无返回值
function fun(){
}
fun(100)
3.无参有返回值
function fun(){
return 100
}
var m = fun()
4.有参有返回值
function fun(m){
return m + 100
}
var m = fun(200)
函数优点
1.封装代码,使代码更加简洁
2.复用,在重复功能的时候直接调用就好
3.代码执行时机,随时可以在我们想要执行的时候执行
函数定义方式
声明式函数定义
function fun(){
}
赋值式函数定义
var fun=function(){
}
预解析
js代码执行解析过程
》浏览器javascript引擎解析执行javascript代码
》执行javascript代码之前,扫描通读js代码,如果发现声明式函数和var声明的变量,将其提前
JavaScript源代码——>执行
|
预解析
1.声明式函数提前
2.var声明变量提前
预解析同名情况
声明式函数优化
一定避免,函数名和变量名相同的情况
var fun = 100
fun()
console.log('111 fun :', fun)
function fun() {
console.log('fun >>>')
}
console.log('222 fun ', fun)
if条件不管成不成立语句块都会解析
console.log(num) // undefined
if (false) {
var num = 100
}
console.log(num) // undefined
return语句后代码不执行,但是会进行预解析