函数概念
完成某个功能的一段代码,避免重复编写相同代码
语法:
//函数
function 函数名(){
代码段
}
//调用
函数名()
// 函数定义好以后,是一段死代码,不会自动执行
// 执行函数 - 调用
函数名命名规则
由字母,数字,下划线和美元符号$组成,不能以数字开头
带参数的函数
//函数
function 函数名(变量){ //形参,相当于定义的变量
代码段
}
//调用
函数名(具体的值) //实参,实际就是给函数括号里的变量赋值
匿名函数
没有名字的函数,就叫做匿名函数
例如:
var a = function(){
console.log(111);
}
a() 输出111
console.log(a); //输出111
console.log(typeof a); //输出function
匿名函数的使用
-
1.将匿名函数赋值给变量,变量类型是function,值是函数代码,可以调用
-
**2.将匿名函数当做是一个整体,可以直接加()进行调用 - 只能调用1次 - 自调用函数
-
3.在事件中使用 - 用户处理用户在网页中的行为
-
事件指的是用户在网页中的行为
注:2中的自调用函数由三种方式
*可以把函数括起来后面加()
代码:
(function(){
console.log(111);
})()
*可以把函数括起来前面加!
代码:
!(function(){
console.log(111);
})
*可以把函数括起来前面加~
代码:
~(function(){
console.log(111);
})
标签的id名,可以直接当做变量使用,变量的值就是这个标签
代码,如:
<style>
.box {
width: 100px;
height: 100px;
background-color: #f00;
}
</style>
<div class="box" id="mybox"></div>
console.log(mybox);
// 处理用户点击div的行为
mybox.onclick = function(){
console.log("你点我了");
}
函数返回值:return
调用函数,能得到函数执行的结果 ----- 在函数内 ----- return 结果
什么时候需要用return ?
-
拿函数得出的结果参与下一步运算的就加return
-
还有可以结束函数运行,函数代码在执行到return 时,就会结束函数,不会执行下面的代码
return的相关知识
¥ return后面可以不写结果,这时的主要作用是结束函数的执行
¥ 如果函数中没有return,会有默认的return是undefined
¥ 如果只有return,没有值,默认也是return的undefined
¥ 如果形参没有实参给他赋值,形参的默认值就是undefined
预解析
js代码在执行之前,会先进行语法的解析
预解析要干什么?
在代码中找 1.变量的定义;2.函数的定义;找到以后会将这些定义放在所有代码的最前面执行
预解析的相关知识
其中函数名特指的是:
-
function 函数名 ( ){ }
-
var 变量名=function ( ){ } 不属于函数定义,是变量定义
-
当函数定义和变量定义预解析的时候同名了,会保留函数定义,忽略变量定义
-
js中报错后的代码都不执行
函数的优点
1.实现了代码的复用性
2.实现了模块化编程
函数的嵌套
函数的代码段里面可以包含的内容:
/*
定义变量
运算
输出
分支语句
循环语句
函数定义
函数调用
*/