更多
 当前上元教育宁波校 其它分校: 慈溪校 无锡校 常州校 南京校 上海校 绍兴校 南通校   (建议使用IE浏览本网站/分辨率1024*768px)    
宁波培训学校 宁波培训学校
 位置: 邦元教育 >> 机电培训 >> 技术资讯 >> 正文
 

JavaScript——第 3 部分:函数中的默认参数

作者:Admin  更新时间:2018/09/28  点击次数:

JavaScript函数可以有默认参数值。通过默认函数参数,你可以初始化带有默认值的正式参数。如果不初始化具有某些值的参数,则该参数的默认值为undefined。

请看下列代码:

function foo(num1){ console.log(num1);
}
foo();

在调用函数foo时,你没有传递任何参数,因此变量num1的默认值设置为undefined。但是,有时你可能需要设置默认值而非undefined。过去,最好的策略是测试参数值undefined,然后分配一个值。所以,在上面的例子中,如果你想要将num1的默认值设置为9,那么你可以按照以下代码所示的方式做:

function foo(num1) { if (num1 === undefined) {
num1 = 9;
} console.log(num1);
}
foo();

ECMAScript 6引入了函数的默认参数。使用ECMA 2015的默认参数功能,你将不再需要检查未定义的参数值。现在,你可以将9设置为参数本身的默认值。你可以重写上述函数以使用默认值,如下所示:

function foo(num1 =9) { console.log(num1);
}
foo();

对于函数foo,如果num1参数的值未被传递,那么JavaScript将设置9作为num1的默认值。

检查未定义的参数

即使你在调用函数时明确地传递undefined作为参数值,参数值也将设置为默认值。

function foo(num1 =9) { console.log(num1);
}
foo(undefined);

在上面的代码中,你传递undefined为num1的值;因此,num1的值将被设置为默认值9。

运行时计算默认值

JavaScript函数默认值在运行时计算。为了更好地理解这一点,请看以下代码:

function foo(value = koo()) { return value;
}function koo() { return "Ignite UI";
}var a = foo();
console.log(a);

在函数foo中,参数值的默认值设置为函数koo。在运行时调用函数foo时,将计算函数koo。调用foo函数后,你会得到如下图所示的输出(在这个例子中,我们使用了Ignite UI框架)。

宁波上元教育:JavaScript——第 3 部分:函数中的默认参数


重用默认参数

默认参数可供之后的默认参数使用。请看下列代码:

function foo(num1 = 9, num2 = num1 + 8){ console.log(num2);
}
foo();

在上面的代码中,使用num1的默认值来计算num2的默认值。调用函数foo时将得到以下输出:

宁波上元教育:JavaScript——第 3 部分:函数中的默认参数


结论

JavaScript默认参数在编写函数时非常有用。在调用函数时,如果缺少参数,则默认参数功能允许你为函数参数分配默认值,而不是将其定义为undefined。

上一篇: JVM学习(二)垃圾收集算法及Safe Point介绍 下一篇: 没有了
相关文章
 ·JVM学习(二)垃圾收集算法及Safe Point介绍
 ·JVM学习(一)Java运行时数据区域
 ·新品 | 西门子发布全新Simatic S7-1500 冗
 ·MySQL练习题及答案(三)
 ·宁波上元教育:做程序员真的很难吗
 ·宁波上元教育:给初学Java的宝贵部分知识点归纳
 ·宁波上元教育:技术负责人需要具备哪几个核心能力,你
 ·宁波上元教育:怎样学习PLC的应用指令
 ·JavaScript——第 2 部分:函数中的 Rest 参数
 ·轻松学习 JavaScript—第 1 部分:了解 let 语句
网上报名
姓名:  性别:
电话: 
地址:
课程:
最新课程 更多
 ·JavaScript——第 3 部分:函数中的
 ·JVM学习(二)垃圾收集算法及Safe
 ·JVM学习(一)Java运行时数据区域
 ·新品 | 西门子发布全新Simatic S7-
 ·MySQL练习题及答案(三)
 ·Web前端工程师培训、Web前端开发培
 ·宁波上元教育:做程序员真的很难吗
 ·中间继电器的作用
 ·宁波上元教育:给初学Java的宝贵部
 ·宁波上元教育:技术负责人需要具备
推荐课程 更多
 ·JavaScript——第 3 部分:函数中的
 ·JVM学习(二)垃圾收集算法及Safe
 ·JVM学习(一)Java运行时数据区域
 ·新品 | 西门子发布全新Simatic S7-
 ·MySQL练习题及答案(三)
 ·Web前端工程师培训、Web前端开发培
 ·宁波上元教育:做程序员真的很难吗
 ·中间继电器的作用
 ·宁波上元教育:给初学Java的宝贵部
 ·宁波上元教育:技术负责人需要具备
热门课程 更多
 ·JavaScript——第 3 部分:函数中的
 ·JVM学习(二)垃圾收集算法及Safe
 ·JVM学习(一)Java运行时数据区域
 ·新品 | 西门子发布全新Simatic S7-
 ·MySQL练习题及答案(三)
 ·Web前端工程师培训、Web前端开发培
 ·宁波上元教育:做程序员真的很难吗
 ·中间继电器的作用
 ·宁波上元教育:给初学Java的宝贵部
 ·宁波上元教育:技术负责人需要具备
网站首页| 友情链接| 最新开课| 会计培训| 电脑培训| 外语培训| 建筑培训| 信息技术| 才艺培训| 职业资格| 关于我们| 网上报名| 网站地图| 后台管理
联系地址:宁波市海曙区中山东路137号7楼
联系电话:0574-87327805、87323725、87324192、87325693、87325823、87326973、87329343、87329353、87042056