本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘
函数的参数
对于参数值,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,函数的参数
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。