JavaScript命名函数和匿名函数
1.命名函数
function func(){
    console.log("这是一个命名函数")
}
 调用func
func();//方法+() 代表立即执行
2.匿名函数
 document.onclick=function(){
     console.log("这是一个点击事件驱动的匿名函数")
 }
 使用变量将匿名函数进行储存 
var func3=function(){
    console.log("通过变量储存的匿名函数")
}
通过变量名进行函数的调用
func3();
 func3();
 func3();
document.onclick=func3;
 function func2(){
     console.log("这是一个被点击事件驱动的命名函数")
 }
document.onclick=func2;
JavaScript带有返回值的函数
return之后的所有代码都不执行
 类如:
function func{
    return x;
    console.log(x);//这个就打印不出来
}
 
工作中,经常需要对方法或函数执行的结果进行处理时,就需要使用return语句将结果返回(抛出)
JavaScript闭包函数
局部作用域:局部变量
 变量在函数中声明,变量为局部作用域
 局部变量:只能在函数内部访问
function func(){
    var x=1;
    return function(){
        return x;
    }
}
JavaScript闭包函数的应用
function func1() {
        var x = 10000;
        return function () {
            return x;
        }
    }
     var res=func1();//将func1中返回的方法进行储存 
     console.log(res());
JavaScript函数的封装
字面量 不可被改变 重复使用字面量
使用变量将字面量储存起来,直接使用变量
 功能函数 方法
 将功能封装为函数,对外提供函数的接口(使用方法)
 实现10以内的 + - * /
function add(a,b) {
        return a+b
     }
告诉使用者 add 是一个用来做加法的方法 add(数字1,数字2)
function sub(a,b) {
        return a-b
     }
function times(a,b) {
        return a*b
     }
  function devided(a,b) {
       return a/b
     }
    var res=add(10,20);
     console.log(res);
     
封装:相同的地方不变不同的地方通过参数来表示
function func(a, b, type) {
        return eval(a + type + b)
    }
    console.log(func(10, 20, "+"))
    console.log(func(10, 20, "-"))
    console.log(func(10, 20, "*"))
    console.log(func(10, 20, "/"))









