函数的定义:
类似一个盒子,盒子里面封装着写的代码,当我们需要这段代码的时候,就会去查找盒子的名称,通过盒子的名称去执行里面的代码。
函数的作用:
任意功能的代码进行封装,在需要的时候进行调用,复用代码,减少代码量。
函数的定义方式分类:
1.声明式函数语法:
function 函数名(){
封装的代码体,也叫函数体。
}
函数名();//这个也叫调用函数,没有这个语句函数不会执行
2.函数表达式(赋值式)
var 函数名 = function(){
函数体
}
函数名();//依旧需要调用函数
3.函数的参数
1.形参:在定义函数时,在函数名中括号定义的变量成为形参
2.实参:使用调用函数语句,调用函数时,传入实际的数值;
这是一段代码实例:
function getSum(){//定义函数时,这个为形参
console.log ('实参和形参');
}
getSum();//这个调用函数执行语句里的就是,实参。
参数的问题设置:当实参的个数大于形参是,则会采取形参的个数,因为形参里面的值和实参是一一对应的,比如一个鸡蛋一个篮子。
当实参的个数,少于形参时,会出现undefined的。
4.函数类型
1.无参返回值:
无参返回值
function fun(){
}
fun();
2.有参数,无返回值
有参数无返回值
function fun(m){ //形参
}
fun(100) //实参
3.有参有返回值
有参有返回值
function fun(){
return 100;
}
var m = fun(); //值此时已经为100,因为return带值会返回。
4.无参有返回值
有参有返回值
function fun(m){
return m+100
}
fun(100)
var m = fun(200);
document.write(m);//值为300
5.函数的默认值
function fun(m){
m = m || 10; //这里m是undefind,如果转换就为false,或是一边为true就为true,m如果没有值
就默认为10
console.log(m);
}
fun();
6.预解析
含义:指定的是浏览器JavaScript中引擎解析执行JavaScript的代码
指的是在执行JavaScript代码之前,这个引擎会提前扫描通读一遍js的代码,如果发现有var声明变量和声明函数时,避免函数名和变量名相同的情况
if条件下,不管条件是否成立,里面的语句块都会扫描,var声明的变量都会去解析。