JavaScript(JS)-基础5(函数)

目录

一·什么是函数及如何创建函数

二·函数的参数

三·函数返回值

四·实参可以是任何值

五·返回类型

六·立即执行函数


一·什么是函数及如何创建函数

简单来说函数也是一个对象,在函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码),也可以保存一些需要的代码

//创建函数对象

var fun = new Function();

//对于要封装的代码以字符串的形式转递给构造函数(一般很少使用构造函数来创建一个函数对象)

var fun = new Function("console.log('这是我的第一个函数');");

//函数封装完后调用函数

fun();

函数对象具有普通对象的功能;

另一种方式创建函数:使用函数声明,来创建

语法:

                function 函数名 ([形参1,形参2,形参n]){

                语句                

                }

如:

function fun2(){
				console.log("这是我的第二个函数");
			}

这中方法比上面那种更加清晰

还可以使用函数表达式来创建函数

语法:

        var 函数名 = function ([形参1,形参2,形参n]){

        语句

        }

function(){
    console.log("匿名函数");
}
//这样子无法使用
var fun2 = function(){
    console.log("匿名函数");
}

二·函数的参数

定义一一个用来求两个数和的函数

可以在函数的( )中来指定一个或多 个形参(形式参数)

多个形参之间使用,隔开,声明形参就相当于在函数内部声明了对应的变量

但是并不赋值

function sum(a,b){

console.log(a+b);

}

在调用函数时,可以在( )中指定实参(实际参数)实参将会赋值给函数中对应的形参

sum(1,2);

调用函数解析器不会检测实参类型

        所以要注意,是否有可能会接受到非法参数,如果需要对参数进行类型检查

sum(123,"h");
sum(true,false);

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

 多余的会赋值给函数中对应的形参

如果实参数量少于形参数量,则没有对应实参的形参将是undefined

sum(123,456,789);
sum(123);

三·函数返回值

创建一个函数, 用来计算三个数的和

可以使用return来设置函数的返回值语法:

return值

return后的值将会会作为函数的执行结果返回,

可以定义一个变量了来接收该结果

return后的语句都不会执行

function sum(a,b,c){
				var d = a + b + c;
				return d;
			}
			
			var result = sum(4,7,8);

调用函数

变量result的值就是函数的执行结果

函数返回什么result的值就是什么

var result = sum(4,7,8);
console.log(result);

四·实参可以是任何值

1·定义一个函数,判断一个数字是否是偶数,如果是返回true,否返回false

		<script type="application/x-javascript">
			function isOu (num){
				return num % 2 ==0;
			}
			var result = isOu(15);
			console.log(result);
		</script>

2·定义一个函数,可以根据半径计算一个圆的面积,并返回计算结果

		<script type="application/x-javascript">
			function mianji (r){
				return Math.PI * r * r;
			}
			var result = mianji(3);
			console.log(result);
		</script>

3·创建一个函数,可以在控制台中输出一个人的信息

        可以输出人的name age gender address

			function say(name,age,gender,address){
				console.log("我是"+name+",今年我"+age+"岁了,"+"我是一个"+gender+"人"+",我来自"+address);
			}
			say("孙悟空",18,"男","花果山");

当参数过多后就会很麻烦,而且很容易乱

可以将参数打包

创建一个对象

实参可以是任意的数据类型,也可以是一个对象

        当我们的参数过多时,可以将参数封装到一个对象,然后通过对象传递

			function say(o){
//				console.log(o);
				console.log("我是"+o.name+",今年我"+o.age+"岁了,"+"我是一个"+o.gender+"人"+",我来自"+o.address);
			}
//			say("孙悟空",18,"男","花果山");
			var obj = {
				name :"孙悟空",
				age : 188,
				gender: "男",
				address : "花果山"
			};
			say(obj);

实参还可以是一个函数

			function fun(a){
				console.log(a);
//				a(obj);
			}
//			fun(mianji(10));
  			fun(mianji);

mianji()

        调用函数:相当于使用的函数的返回值

mainji

        函数对象:相当于直接使用函数

五·返回类型

break可以退出当前循环

continue用于跳过当次循环

return结束整个函数

返回值可以任意数据类型,也可以是对象

  			function fun2(){
  				var obj = {name:"沙和尚"};
  				return obj;
  			}
  			var a = fun2();
  			console.log(a.name);

当然也可以是函数

  			function fun3(){
  				function fun4 (){
  					alert("我是老六!");
  				}
  				
  				return fun4();
  			}
  			a = fun3();
  			console.log(a);

六·立即执行函数

函数对象( )

立即执行函数
函数定义完,立即被调用
立即执行函数往往只会执行一次
 


(function( ){

alert("我是一个匿名函数~~~");

})();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值