Javascript之函数(ES5 ES6)

9 篇文章 0 订阅

ES5函数:

1:静态方法
  function add(num1,num2){
      return num1+num2;
  }
 
2:直接量方法
  var add(函数名)= function(num1,num2){          // 通过变量add即可引用函数;
                  return num1+num2;
                };                         // 注意函数末尾有一个分号,就像声明其他变量时一样;
 var another = add;                 // 使用不带圆括号的函数名是访问函数指针;而非调用函数;
 console.log(another(10,10));  
3:动态匿名方法:使用Function构造函数
  var add = new Function('num1','num2','return num1+num2');

第三种方式不推荐,这种语法会导致解析两次代码(第一次解析常规JS代码,第二次解析传入构造函数中的字符串),从而影响性能; 可以通过这种语法来理解"函数是对象,函数名是指针"的概念;

ES6函数:

1:ES6对默认参数的支持
function log(x, y = 'World') {
  console.log(x, y);
}
log('Hello')            // Hello World
log('Hello', 'China')   // Hello China

log('Hello', '')        // Hello

参数默认值可以与解构复制的默认值,结合起来使用。

function foo({x, y = 5}) {
  console.log(x, y);
}
foo({})             // undefined 5
foo({x: 1})         // 1 5
foo({x: 1, y: 2})   // 1 2

foo()               // TypeError: Cannot read property 'x' of undefined

解构赋值的例子:

function fetch(url, { body = '', method = 'GET', headers = {} }) {
  console.log(method);
}
fetch('http://example.com', {})
// "GET"
fetch('http://example.com')
// error

2:rest参数
ES6 引入 rest 参数(形式为 ...变量名 ),用于获取函数的多余参数,这样就不需要使用 arguments 对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中

function add(...values) {
  let sum = 0;
  for (var val of values) {
    sum += val;
  }
  return sum;
}
add(2, 5, 3) // 10

3:箭头函数

var f = v => v;

 等同于
var f = function (v) {
  return v;
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值