js 函数定义的方式

js 函数定义的方式

一、总结

一句话总结:

最常见就下面三种

最常见:function func1([参数]){/*函数体*/}
将匿名函数赋值给变量:var func2=function([参数]){/*函数体*/};
json方式:change: function () { $('body').css({'backgroundColor': 'red'}); },

1、function func1([参数]){/*函数体*/}和var func2=function([参数]){/*函数体*/} 定义的函数的区别?

function func1([参数]){/*函数体*/}定义的函数在函数前可以调用

主要区别在于调用的时机:

  函数式声明调用方式:2种

// 在函数前面,仍然可以调用 
mode();

/**
 * 函数式声明
 */
function mode() {
    console.log("运行mode函数");
}
// 在函数后面,当然可以调用
mode();

  

函数表达式定义函数:1种

// 报错:在调用mode2()之前,没有定义
mode2();    
/**
 * 以函数表达式的形式定义函数
 */
var mode2 = function() {
    console.log("运行mode2函数");    
}
// 只能放在该函数的后面,才能调用
mode2();

二、js 函数定义的2种方式

转自或参考:js 函数定义的2种方式
https://www.cnblogs.com/Marydon20170307/p/8671616.html

方式一:

/**
 * 函数式声明
 */
function mode() {
    console.log("运行mode函数");
}

方式二:

/**
 * 以函数表达式的形式定义函数
 */
var mode2 = function() {
    console.log("运行mode2函数");    
}

主要区别在于调用的时机:

  函数式声明调用方式:2种

// 在函数前面,仍然可以调用 
mode();

/**
 * 函数式声明
 */
function mode() {
    console.log("运行mode函数");
}
// 在函数后面,当然可以调用
mode();

  

函数表达式定义函数:1种

// 报错:在调用mode2()之前,没有定义
mode2();    
/**
 * 以函数表达式的形式定义函数
 */
var mode2 = function() {
    console.log("运行mode2函数");    
}
// 只能放在该函数的后面,才能调用
mode2();

三、js函数几种常用的定义方式

function func1([参数]){/*函数体*/}
var func2=function([参数]){/*函数体*/};
var func3=function func4([参数]){/*函数体*/};
var func5=new Function();

上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);
第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);
第四种是声明func5为一个对象。

 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11590248.html