Javascript函数的参数


Posted in Javascript onJuly 16, 2015

 本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘

函数的参数         

            对于参数值,JavaScript不会进行类型检查,任何类型的值都可以被传递给参数。
            对于函数参数,如果过少,没得到值的参数值为undefined,如果过多,多的会被忽略掉。

//调用函数时传入的实际参数
  function add(num1, num2) {
    return num1 + num2;
  }
  //一切正常的调用方式
  console.info(add(1, 2)); //3
  //不检查参数的类型,字串和数字可以混用
  console.info(add("1", 2)); //12
  //多余参数被忽略
  console.info(add(1, 2, 3)); //3
  //少的参数被视为undefined
  //1+undefined=NaN
  console.info(add(1)); //NaN

检测参数是否缺失
判断是否为 undefined

//检测参数是否缺失
  function sayHello(name, message) {
    if (typeof message === 'undefined') {
      message = '你好!';
    }
    console.info(name + "," + message);
  }
  sayHello("贾君鹏", "你妈喊你吃饭"); 
  sayHello("贾君鹏");    //贾君鹏,你好!

保存参数的arguments对象

 利用arguments对象,写出支持任意个参数的函数。arguments像是一个数组,但实际上不是数组,所以很多数组方法是不能用的。

//保存参数的arguments对象
  function sumNumbers() {
    var result = 0;
    for (var i = 0; i < arguments.length; i++) {
      result += arguments[i];
    }
    return result;
  }
 console.info(sumNumbers(1, 2)); //3
 console.info(sumNumbers(1, 2, 3)); //6

函数对象的length属性  

               arguments.length       函数接收的实参个数
                函数名.length             函数定义的形参

//函数对象的length属性
 function sayName(name){
   console.info(name);
 }
 function sum(num1, num2){
   return num1 + num2;
 }
 function sayHi(){
   console.info("hi");
 }
 console.info(sayName.length); //1
 console.info(sum.length); //2
 console.info(sayHi.length); //0

作为参数的函数对象
函数是一个对象,可以作为另一个函数的参数

//作为参数的函数对象
 function callSomeFunction(func, argu) {
   return func(argu);
 }
 function getGreeting(name) {
   return "Hello, " + name;
 }
 var result = callSomeFunction(getGreeting, "jxl");
 console.info(result); //Hello,jxl

使用命名/匿名函数作为函数参数

var callTwice = function (otherFunc) {
    otherFunc();
    otherFunc();
  };
  callTwice(function () {
    console.info("this is a function");
  });

函数作为参数实例:

<script>
  var button = document.getElementById('btnClick');
  var result = document.getElementById('result');
  var clickCount = 0;
  button.addEventListener('click', function () {
    clickCount++;
    result.setAttribute('value', clickCount+': Hello,world!');
  })
</script>

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
javascript实现的listview效果
Apr 28 Javascript
浅谈Javascript中深复制
Dec 01 Javascript
JS实现可展开折叠层的鼠标拖曳效果
Oct 09 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 Javascript
jQuery实现二维码扫描功能
Jan 09 Javascript
Node.js数据库操作之连接MySQL数据库(一)
Mar 04 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
Mar 02 Javascript
JS中自定义事件的使用与触发操作实例分析
Nov 01 Javascript
JS数据类型STRING使用实例解析
Dec 18 Javascript
学前端,css与javascript重难点浅析
Jun 11 Javascript
Vue 实现拨打电话操作
Nov 16 Javascript
Javascript简单改变表单元素背景的方法
Jul 15 #Javascript
JavaScript基于ajax编辑信息用法实例
Jul 15 #Javascript
JavaScript实现对下拉列表值进行排序的方法
Jul 15 #Javascript
jQuery简单实现验证邮箱格式
Jul 15 #Javascript
JavaScript截断字符串的方法
Jul 15 #Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 #Javascript
jQuery实现提示密码强度的代码
Jul 15 #Javascript
You might like
php 方便水印和缩略图的图形类
2009/05/21 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
python的id()函数介绍
2013/02/10 Python
九步学会Python装饰器
2015/05/09 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
python 读取修改pcap包的例子
2019/07/23 Python
详解python中*号的用法
2019/10/21 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
python 5个顶级异步框架推荐
2020/09/09 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
实习医生自我评价
2013/09/22 职场文书
团工委书记自荐书范文
2013/12/17 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
竞选村长演讲稿
2014/04/28 职场文书
拉拉队口号
2014/06/16 职场文书
2014年教师节寄语
2014/08/11 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
秋季运动会加油词
2015/07/18 职场文书
大学生社会实践感想
2015/08/11 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS