JS函数的简介

函数Function

函数也是一个对象,与普通对象不同的是:普通对象仅是一个容器,而函数可以封装一些功能(代码),在需要使用的时候调用函数。

在实际开发过程中,很少使用构造函数来创建一个函数对象
创建函数时,可以将要封装的代码以字符串的形式传递给构造函数;
封装到函数中的代码不会立即执行,等到调用时才会执行

//创建一个函数对象
var fun=new Function("console.log('hello');");
fun();

使用函数声明来创建一个函数
语法(使用中括号代表形参值可选):Function 函数名([形参1,形参2,形参3…]){
语句…
}

//创建函数
function fun(){
	console.log("hello");
}
//调用函数
fun();

使用函数表达式来创建一个函数,又称匿名函数
语法:var 函数名=function([形参1…]){
语法…
}

//创建函数,将一个匿名函数赋值给一个变量
var fun1=function(){
	console.log("hello");
}
//调用
fun1();

函数的参数

可以在函数的()中定义一个或多个形参(形式参数);
多个形参之间使用逗号隔开,生命形参就相当于在函数内部生命力对应的变量,但是并不赋值;
在调用函数时,可以在()中指定实参(实际参数);
实参会将赋值给函数中对应的形参

function fun(a,b){
	console.log(a+b);
}
fun(1,2);			//3

实参可以是任意的数据类型,即可以是一个对象、函数;
当实参过多时,可以将参数封装到对象中去,然后通过对象传递;

function information(o){			//o=[object object]
	console.log("我是"+o.name+",今年我"+o.age+"岁了,是"+o.gender+"生");
}
var informa={
	name:"张三",
	age:18,
    gender:"男"
}
 information(informa);  
function information(o){
	console.log("我是"+o.name+",今年我"+o.age+"岁了,是"+o.gender+"生");
}
var informa={
	name:"张三",
	age:18,
	gender:"男"
}
function fun(a){
	console.log("a="+a);
	a(informa);				//把informa对象传递给a,作为实参
}
fun(information);			//把information函数传递给fun函数


//将一个匿名函数传递给另一个函数
fun(function(){alert("hello")});		//a=function(){alert("hello")}

调用函数时,解析器不会检查实参的类型

function fun(a,b){
	console.log(a+b);
}
fun(123,hello);			//123hello
fun(true,false);		//1

调用函数时,解析器不会检查实参的数量,多余的实参不会被复制,如果实参的数量少于形参的数量,没有实参的形参将是undefined

function fun(a,b){
	console.log(a+b);
}
fun(1,2,3);		//3
fun(1);			//NaN

函数的返回值

可以使用return来设置返回值;
语法:return 值
return后面的值将会作为函数的执行结果返回,可以定义一个变量接受结果;
return后的语句不再执行

function sum(a,b){
	var d=a+b;
	return d;
}
var result=sum(1,2);
console.log(result);	//3

return、break、continue的区别
continue可以结束整个函数;
break可以退出当前循环;
continue可以跳出当前循环

返回值可以是任意的数据类型,即可以是对象、函数

function fun2(){
	return={name:"zs"};
}
var a=fun2();
console.log("a="+a);		//a=[object Object]
function fun3(){
	//函数可以嵌套
	function fun4(){
		alert("fun4");
	}
	//将fun4函数作为返回值返回
	return fun4;
}
a=fun3();
console.log(a);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值