JavaScript函数笔记by-Lying
来源:互联网 发布:数据开发工程师 编辑:程序博客网 时间:2024/06/17 19:51
JavaScript函数笔记by-Lying
本笔记资源来自廖雪峰的官方网站
- 定义函数的两种方式
function abs(x) { if (x >= 0) { return x; } else { return -x; }}var abs = function (x) { if (x >= 0) { return x; } else { return -x; }}; //要加分号
- 可以传入任意个参数,不会影响调用;
abs(10, 'blablabla'); // 返回10abs(-9, 'haha', 'hehe', null); // 返回9abs(); // 返回NaN//此时abs(x)函数的参数x将收到undefined,计算结果为NaN。//要避免收到undefined,可以对参数进行检查function abs(x) { if (typeof x !== 'number') { throw 'Not a number'; } if (x >= 0) { return x; } else { return -x; }}
arguments
JavaScript在函数内部有一个关键字arguments,永远指向当前函数的调用者传入的所有参数(类似array但不是array),最常用于判断传入参数的个数;
可通过arguments判断,将某参数设为可选参数;
// foo(a[, b], c)// 接收2~3个参数,b是可选参数,如果只传2个参数,b默认为null:function foo(a, b, c) { if (arguments.length === 2) { // 实际拿到的参数是a和b,c为undefined c = b; // 把b赋给c b = null; // b变为默认值 } // ...}
rest
ES6标准引入rest参数;
rest只能写在最后,前面用…标识,传入的参数先绑定前面定义的参数,多余的参数以数组形式传给变量rest;
如果传入的参数没填满前面定义的参数,rest参数会接收到一个空数组(不是undefined)。
function foo(a, b, ...rest) { console.log('a = ' + a); console.log('b = ' + b); console.log(rest);}foo(1, 2, 3, 4, 5);// 结果:// a = 1// b = 2// Array [ 3, 4, 5 ]foo(1);// 结果:// a = 1// b = undefined// Array []
- JavaScript的嵌套函数中,如果内部函数定义了与外部函数重名的变量,则内部函数的变量将“屏蔽”外部函数的变量。
0 0
- JavaScript函数笔记by-Lying
- JavaScript基本语法笔记by-Lying
- javascript 函数调用笔记
- javascript函数调用笔记
- Javascript学习笔记-----函数
- 《Eloquent JavaScript》笔记--函数;
- javascript笔记:函数
- 笔记:JavaScript函数
- JavaScript 函数学习笔记
- JavaScript笔记:函数表达式
- JavaScript笔记--函数
- JavaScript函数学习笔记
- javascript-MDN笔记-函数
- javascript笔记(函数)
- JavaScript 函数(笔记)
- Javascript学习笔记(函数)
- javascript函数——笔记
- javascript中call函数笔记
- 利用php-cli和任务计划实现订单同步功能
- 后台将map放入jsonobject中,前台从map中取值
- 欢迎使用CSDN-markdown编辑器
- Java后端WebSocket的Tomcat实现
- CENTOS7使用rpm方式安装mysql5.7.18
- JavaScript函数笔记by-Lying
- 宽度优先爬虫和带偏好的爬虫的简单实现
- windows下使用批处理脚本实现多个版本的JDK切换
- CPP_Basic_Code_P7.1-PP7.13.10
- css li 不换行 没用到,留着
- 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
- delphi 下枚举可用串口
- 从图像处理到图像识别
- window.location.Reload()和window.location.href 区别