[JamTin]开门见山——JS函数

开门见山——JS函数

  • 函数也是一个对象。

  • 函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)。

  • 函数中可以保存一些代码在需要的时候调用

  • 使用 typeof 检查函数对象时会返回 function。

创建一个函数对象:

var fun = new Function("console.log('Hello, World');");//实际开发中很少使用构造函数来创建一个函数对象

//封装到函数中的代码不会立即执行
//函数中的代码会在函数调用的时候执行
//调用函数 语法:函数对象()
//当调用函数时,函数中封装的代码会按顺序执行
fun();

函数对象具有所有普通对象中的功能,且能封装可执行代码。

使用 函数声明 来创建一个函数
  • 语法:

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

    ​ 语句…

    }

function fun2(){
    console.log('Hello, World');
}
//调用fun2
fun2();
使用 函数表达式 来创建一个函数
  • 语法:

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

    ​ 语句…

    }

    //将匿名函数赋值给一个变量。

var fun3 = function(){
    console.log('Hello, World');
}
//调用fun3
fun3();
匿名函数
  • 语法:

    function() {

    ​ alert(“我是匿名函数。”);

    }

    这样没有变量接收它会报错。加个( )变成函数对象

    (function() {

    ​ alert(“我是匿名函数。”);

    })

  • 立即执行函数:

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

    (function() {
        alert("我是匿名函数。");
    })();
    
    (function(a, b) {
        console.log(a + ', ' + b);
    })(1, 2); //  输出:1, 2
    

函数的参数

例:定义一个求两数之和的函数

  • 可以在函数的 ( ) 中指定一个或多个形参
  • 多个形参之间使用,隔开。声明形参就相当于在函数内部声明了对应变量
function sum(a, b) {
	console.log(a + b);
}
sum(1, 2); //3

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

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

  • 对象可以作实参。
  • 函数也可以作实参,而且常用。如匿名函数:fun(function(){ alert(“hello”); });

函数的返回值
  • 使用 return 来设置函数的返回值
  • 语法:return 值
  • return 后的值会作为函数的执行结果返回,可以定义一个变量来接收该结果。
function sum(a, b) {
	c = a + b;
	return c;
    
    console.log("不执行");
    console.log("不执行");
}

//变量result的值就是函数的执行结果
var result = sum(1, 2);
  • return后的语句不会执行。

  • 如果 return 后面没写值,相当于返回一个undefined。函数中不写return,也会返回undefined。

  • return 后可以跟任意类型的值,也可以是对象和函数。

    function fun3(){
    	function fun4(){
    		alert("我是fun4");
    	}
    	return fun4;
    }
    
    var a = fun3();
    
    a(); //  执行alert("我是fun4");
    fun3()(); //  执行alert("我是fun4");
    
    console.log(a);
    /*
    function fun4(){
    		alert("我是fun4");
    	}
    */
    

例:写一个判断一个数是否为偶数的函数。

function isEvenNum(num) {
    return num % 2 == 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值