function fn (n,m) {//=>形参:入口 var total = 0;//=> total 私有变量 total = n+m; return total;//=>并不是把TOTAL变量返回,返回的是变量存储的值,返回的永远是一个值。 } fn //=>代表函数本身 fn(10,20);//>实参:给形参传递的具体值 代表函数执行后返回的结果, //函数执行的时候,都会形成一个全新的私有作用域(私有栈内存) // 把原有堆内存中存储的字符串中变为js 表达式执行 //保护里面的私有变量不受外界的干扰(和外界是隔离的) //我们吧函数执行的这种保护机制,称之为‘闭包’。 / 函数的入口:形参 函数的出口:返回值 return 把函数运行的结果(或者函数体中的部分信息) 拿到函数外面去使用 另一个作用: return 类似与循环中的break 能够强制结束函数体中代码的执行 //typeof 判断 null 不占内存 空对象指针