首页 > 编程语言 > 详细

JavaScript学习 (4)函数

时间:2021-03-06 23:50:00      阅读:26      评论:0      收藏:0      [点我收藏+]

函数

方法:对象(属性,方法)

函数

注 : 函数和方法本质是一样的,函数在对象里面就叫做方法

1.定义函数

定义方式一

绝对值函数

function abs(x) {
            if (x>=0){
                return x;

            }else {
                return -x;
            }
        }

一旦执行到return代表函数结束,返回结果!

如果没有执行return ,函数执行完也会返回结果,返回undefined或NAN

定义方式二

var abs = function(x){
    if (x>=0){
                return x;

            }else {
                return -x;
            }
}

方式一和方式二等价

2.调用函数

abs(20)   //20
abs(-20)  //20

参数问题:JavaScript可以传递任意个参数,也可以不传递参数

假设不存在参数,如何规避?

let abs = function(x){
            if (typeof x!==‘number‘){
                throw ‘not a number‘;
            }
            if (x>=0){
                return x;

            }else {
                return -x;
            }
        }

多余的参数传进来会不会有问题?

arguments

arguments是一个js免费赠送的关键词

代表传进来的所有参数,是一个数组

let abs = function(x){
            console.log(‘x=‘+x);
            for (let i=0;i<=arguments.length;i++){
                console.log(arguments[i]);
            }
        }
//  >abs(1,2,3,5)
//	x=1
//	1
//	2
//	3
//	5

问题:arguments包含所有的参数,有时我们想用多余的参数进行操作,需要排除已有的参数

rest

以前:

  let abs = function(x,y){
            console.log(‘x=>‘+x);
            console.log(‘y=>‘+y);
            for (let i=2;i<=arguments.length;i++){
                console.log(arguments[i]);
            }
        }

ES6新特性,获取除了已经定义的参数外的其他所有参数

let abs = function(x,y,...rest){
            console.log(‘x=>‘+x);
            console.log(‘y=>‘+y);
            console.log(rest);
            
        }

//  >abs(1,4,2,34,5,6)
//  x=>1
//  y=>4
//  [object Array]: [2, 34, 5, 6]

rest参数必须写在最后面,并且使用...标识

JavaScript学习 (4)函数

原文:https://www.cnblogs.com/shenhuagushisu/p/14491279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!