函数的简介
函数
函数(function)的简介
- 函数也是一个对象
- 函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)
- 函数中可以保存一些代码在需 要的时候调用
创建一个函数对象
可以将要封装的代码以字符串的形式传递给构造函数(我们在实际开发中很少使用构造函数来创建一个函数对象)
var fun = new Function("console.log('Hello 这是一个函数');");
封装到函数中的代码不会立即执行
函数中的代码会在函数调用的时候执行
调用函数语法:函数对象( )
当调用函数时,函数中封装的代码会按照顺序执行
fun();
使用函数声明来创建一 个函数
语法:
function 函数名([形参1 ,形参2...形参N]){
语句...
}
function fun2(){
console.log("这是我的第二个函数");
alert("abcdefg");
document.write("123456");
}
使用 函数表达式 来创建一个函数
var 函数名 = function( [形参1,形参2. . .形参N]){
语句....
}
var fun3 = function(){
console.log("匿名函数中封装的代码")
}
函数的参数
定义一个用来求两个数和的函数
可以在函数的( )中来指定一个或多个形参(形式参数)
多个形参之间使用,隔开,声明形参就相当于在函数内部声明了对应的变量
但是并不赋值
function sum(a,b){
console.log(a+b);
}
在调用函数时,可以在( )中指定实参(实际参数)
实参将会赋值给函数中对应的形参
sum(1,2);
sum(123,456);
调用函数时解析器不会检查实参的类型,
所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查
函数的实参可以是任意的数据类型
调用函数时,解析器也不会检查实参的数量
多余实参不会被赋值
如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined
/*可以使用return来设置函数的返回值
语法:
return 值
*/
function sum(a,b,c){
var d = a + b + c;
return d;
}
return后的值将会会作为函数的执行结果返回,
可以定义一个变量,来接收该结果
在函数中return后的语句都不会执行
如果return语句后不跟任何值就相当于返回一个undetined,
如果函数中不写return,则也会返回undefined
-
实参可以是任意的数据类型,也可以是一个对象
当我们的参数过多时,可以将参数封装到-一个对象中,然后通过对象传递 -
实参可以是一个对象, 也可以是一个函数
-
sum( )
- 调用函数
- 相当于使用的函数的返回值
-
sum
- 函数对象
- 相当于直接使用函数对象
返回值的类型
返回值可以是任意的数据类型
也可以是一个对象,可以是一个函数
立即执行函数
立即执行函数
函数定义完,立即被调用,这种函数叫做立即执行函数
立即执行函数往往只会执行一次
(function(a,b){
console.log("a = "+a);
console.log("b = "+b);
})(123,456);
枚举对象中的属性
使用for . . . in语句
- 语法:
for( var 变量 in 对象 ){
}
for . . . in语句对象中有几个属性,循环体就会执行几次
for(var n in obj){
console.log(n);
//console.log(obj[n]);列举对象中的属性值
}