常见函数的4种类型(js的问题)

        • 匿名函数
        • 回调函数
        • 递归函数
        • 构造函数
1、匿名函数
定义时候没有任何变量引用的函数
匿名函数自调:函数只执行一次

(function(a, b){
  console.log(a + b);}
)(1, 2);


// 等价于
function foo (a, b){
  console.log(a + b);
}

foo(1, 2);

jQuery:

(function(window, undefined){
  var jQuery;
  ...
  window.jQuery = window.$ = jQuery;
})(window);

优点:节约内存空间,掉用前和调用后内存中不创建任何函数对象

2、回调函数callback

如果一个函数作为对象交给其他函数使用

var arr = [33, 9, 11, 6];

arr.sort(function (a, b) {
  return a - b;
});

console.log(arr);
// [6, 9, 11, 33]

异步回调

function getPrice(params, callback){
  $.ajax({
    url: '/getPrice',
    type: 'POST',
    data: params,
    success: function(data){
      callback(data);
    }
  })
}

3、递归函数

循环调用函数本身

var func = function(x) {
  if(x === 2){
    return x
  } else{
    return x * f(x - 1)
  }
}

arguments.callee 严格模式下不支持使用 use strict

function func(x){
  if(x === 1){
    return 1
  } else{
    return x * arguments.callee(x -1)
  }
}

4、构造函数

构造函数习惯上首字母大写

调用方式不一样,作用也不一样

构造函数用来新建实例对象

Person 既是函数名,也是这个对象的类名

function Person(){} // 构造函数

new Person()

function person(){} // 方法

你可能感兴趣的:(javascript,开发语言,ecmascript)