243 函数:函数的3种定义方式,函数的6种调用方式

1.函数的定义和调用

1.1 函数的定义方式

  1. 方式1 函数声明方式 function 关键字 (命名函数)

    function fn(){}
    
  2. 方式2 函数表达式(匿名函数)

    var fn = function(){}
    
  3. 方式3 new Function()

    var f = new Function('a', 'b', 'console.log(a + b)');
    f(1, 2);
    
    var fn = new Function('参数1','参数2'..., '函数体')
    注意
    /*Function 里面参数都必须是字符串格式
    第三种方式执行效率低,也不方便书写,因此较少使用
    所有函数都是 Function 的实例(对象)  
    函数也属于对象
    */
    
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        //  函数的定义方式
        // 1. 自定义函数(命名函数) 
        function fn() {};

        // 2. 函数表达式 (匿名函数)
        var fun = function() {};


        // 3. 利用 new Function('参数1','参数2', '函数体');
        var f = new Function('a', 'b', 'console.log(a + b)');
        f(1, 2);
        
        // 4. 所有函数都是 Function 的实例(对象)
        console.dir(f);
        
        // 5. 函数也属于对象
        console.log(f instanceof Object);
    </script>
</body>

</html>

1.2 函数的调用

/* 1. 普通函数 */
function fn() {
	console.log('人生的巅峰');
}
 fn(); 

/* 2. 对象的方法 */
var o = {
  sayHi: function() {
  	console.log('人生的巅峰');
  }
}
o.sayHi();

/* 3. 构造函数*/
function Star() {};
new Star();

/* 4. 绑定事件函数*/
 btn.onclick = function() {};   // 点击了按钮就可以调用这个函数

/* 5. 定时器函数*/
setInterval(function() {}, 1000);  这个函数是定时器自动1秒钟调用一次

/* 6. 立即执行函数(自调用函数)*/
(function() {
	console.log('人生的巅峰');
})();
原文地址:https://www.cnblogs.com/jianjie/p/12229293.html