一、函数概念
1、函数也是一个对象
2、函数可以封装一些功能(代码),在需要的时候可以执行这些功能(代码)
3、使用typeof 检查一个函数对象时,会返回function
二、函数的创建
1、函数对象(理解函数是对象即可,开发中,不会用构造函数创建函数对象)
var fun = new Function("str"); //str 就是一堆功能代码 可以理解成str是function对象构造函数的形参
将封装的代码以字符串的形式传递给构造函数。
exp: var fun = new Function("console.log('Hello 第一个函数');")
函数中的代码不会立即执行,函数中的代码在函数调用的时候执行。
函数调用语法: 函数对象();
exp: fun(); //调用函数fun,执行里面的代码。
调用函数时,函数中封装的代码会按照顺序执行。
函数对象具有普通对象的功能(比如可以添加属性 fun.name="JJ"),但是函数对象更强大,可以封装代码。
2、创建一个函数
2.1使用函数声明创建函数
使用function关键字来创建函数
function 函数名(【形参1,形参2,...形参N】){ //可以无参
函数体;
【return 返回值;】 // JS中,如果函数有返回值,直接在函数体内return即可,不需要在定义的时候指明返回类型。
}
注意:js中,由于所有变量都是var,所有形参里面就直接给形参个数就行了,不用带var。
exp:
function fun(a,b){
alert("有参函数被调用啦 a="+ a +",b="+b);
}
2.2使用函数表达式来创建函数
var 函数名 = function(【形参1,形参2,...形参N】){ //右边是一个匿名函数,由于没名字不会调用,所以需要将其赋值给一个变量</