1,函数/方法:
就像变量拥有自己的声明一样,函数也拥有自己的类声明。
function 就是一个类声明,函数/方法是一个典型的引用数据类型
函数的基本语法是:
声明:function 名字aa()//参数列表{//方法 }
创建函数:有两种创建方法:
1,使用类声明直接创建:function aa(){};//声明及值提前
2,使用直接量创建;var aa=function (){};
函数的使用:调用函数的名称aa()//返回的是:函数花括号内的程序过程或者结果值
如果直接使用函数名称本身aa的话,输出的结果就是整个函数本体。
如果调用函数的名称加上参数列表:aa()那么输出的结果就是函数方法体内的程序执行结果。
函数的定义:我们称之为方法:它是一个封装了一段代码过程的容器。方法一般输出的结果有两大类:1,程序执行的过程,2,程序算出的结果值
函数声明:function 名字aa()//参数列表{//方法体:封装需要重复执行的代码 }

函数的变量:
函数的全局变量//写在函数之外的变量称为全局变量,
函数的参数变量//在函数的参数列表写的变量,
函数的局部变量//在函数的方法体内声明的变量称为局部变量。
函数变量执行的优先级别是什么?
如果同时存在相同变量名称,那么输出的变量顺序是:局部变量优先,参数变量在中间,最后是全局变量。
局部变量的结果输出:需要使用return命令实现。return的意思是返回。
function a(){
var c=100;
return c;
}
console.log(a());//输出的结果是100;
什么情况下使用return:
如果我们该函数的目的不是利用函数体内的程序过程,而是利用程序执行之后的一个结果,那么我们就需要在方法体
的底部使用return 后面跟我们需要使用的结果代码
return是一次返回一个结果值。
函数的参数:
什么叫函数的参数?
function aa(name,age){};凡是写在函数名称后方圆括号内的变量或者数据都是函数的参数/叫做方法的参数。
备注:在我们以后所学程序中,我们经常会遇到 afc();这就是一个方法。凡是写在方法圆括号内的数据,都叫参数。
参数分为:“形参”和“实参“两种。
形参是一种形式的参数,不代表具体的内容。
实参是一种代表了具体事物的内容。
我们可以把形参看做参数变量的名称,实参看做参数变量的值。
所以实参实际上实在给形参赋值,赋值的过程叫做函数的传参。
在方法内,形参是不需要添加引号的,多个形参中间以逗号隔开。
但是我们在调用方法的时候,在参数列表内添加一个实例化的参数,此时该参数为实参,实参如果是字符串,需要添加引号
名词解释:实例化就是将一个形参写出一个实际的参数,这叫做实例化。
初始化:如果我们新建一个变量或者方法,就直接写一个值作为默认存在的,就叫做初始化。
function aa(name1,age1){//name1是形参,并且做局部变量name的值
var name=name1;//局部变量
var age=age1;
document.write("我的名字是"+name+",我的年龄"+age);
}
aa("朱克泽",21);//朱克泽就是name1的实参。

函数内调用函数:
就是我们创建了几个基础函数,并且将这几个基础函数的结果直接调用在一个综合函数内。例如:
//函数A
function A(a){
var num1=a;
return num1;
}

//函数B
function B(b){
var num2=b;
return num2;
}

//函数C
function c(){
var num3=A(1)+B(2);
return num3;
}
console.log(c())

//函数C
function c(f,e){
var num3=A(f)+B(e);
return num3;
}
console.log(c(3,5))

内存的清理机制:
引用数据类型的名称和路径直接存储在栈内存的。
引用的数据类型主体是存储在堆内存的,他们之间是通过路径的方法加以调用。
这个时候,计算机为保证内存的空间得到合理利用,会定期清理不用的代码段。
ie浏览器判断的标准是:赋予每个代码段一定的使用次数,如果次数没有了则视为垃圾予以清除。
非IE浏览器则根据代码的调用路径数量来判断,如果没有任何一个路径指向该代码。则视为垃圾予以清除。
function 的值传递:
在js中,所有的值发生重新赋值的时候都是按值传递。在引用类型中,发生的值传递
都是值的路径进行改变的。

function 的作用:1,封装代码段实现程序的重复调用。2,函数之间的调用本质上是一种数据的传递。
1,函数的创建方法:1,声明创建。2,直接量创建
2,函数的调用方法:函数名称+();直接使用函数的名称相当于打印整个函数
3,函数的变量:1,全局,2,局部,3,参数变量。优先执行的顺序是:2>3>1,作于范围:1>3>2
4,形参和实参,传参。
5,函数内调用函数
6,按值传递
7,声明提前。
面试题:
声明提前:
1,什么叫声明提前:
当计算机在读取程序的时候,首先计算机会先预览全部程序,将变量var ,function同时提升到程序的最前方,优先执行。
2,变量声明提前和函数声明提前的区别?
1,变量声明提前只提前声明及名称,不提前值。
2,函数声明提前是声明,名称及值同时提前。使用类声明直接创建的才会出现声明提前现象。