javascript 函数详解

很多小伙伴对函数一头雾水,什么构造函数,匿名函数,回调函数.........到底说的是什么?今天给大家详解一下js函数,让你几分钟搞懂所有函数

什么是函数?

函数是一段可以被执行或调用任意次数的JavasScript代码,在数据类型中属于"function"。函数有属性和方法,因此函数也是对象。

函数三种定义方法(函数声明、函数表达式、构造函数)
  • 函数声明:function 函数名称 (参数:可选) { 函数体 };
//具名函数
function test(){}

//箭头函数
()=>{} 
  • 函数表达式:var xxx = function 函数名称:可选 (参数:可选) { 函数体 } ;
    [ 简单概括就是把函数(具名函数 || 匿名函数)存储到变量里就叫函数表达式]
var test = function(){}  //function(){}是一个匿名函数,顾名思义,没有名字的函数就是匿名函数

var test = function fn(){} //

let test = () => {}

  • 构造函数 :var fun =new Function(参数:可选);
function Fn(){};
var test = new Fn ();
函数应用
  • 定义函数直接调用
function test(){};
test(); //命名函数调用
document.onclick = test; //在事件中调用不加括号 

var test = function(){};
test(); //函数表达式调用

(function(){})() // 匿名函数立即执行
  • 将函数作为参数传给另一个函数(这种方式我们成为回调函数)
将匿名函数赋值给函数
function test(options,callback){
  callback(options)
}

test(1,function(name){console.log(name)}) //1

将具名函数赋值给函数
function test(options,callback){
  callback(options)
}
function xx(options){
  console.log(options)
};

test(1,xx) //1


函数表达式与函数声明的区别
test();

var test = function(){
  console.log('我是函数表达式')
}

test();

function test(){
  console.log('我是函数声明')
}

test();

//打印结果
// 我是函数声明
//我是函数表达式
//我是函数表达式

【函数声明与函数表达式区别在于,函数声明是以function开头,且在调用过程中可提升】

你可能感兴趣的:(javascript 函数详解)