首页 > Web开发 > 详细

JS函数对象

时间:2019-08-31 21:47:26      阅读:90      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
 1、函数简介
        函数也是一个对象,也具有普通对象的功能,除了基本数据类型外,一切都是对象
        - 函数中可以封装一些代码,在需要的时候可以去调用函数来执行这些代码
        - 使用typeof检查一个函数时会返回function

2、创建函数对象 :
        方式1:   开发中很少使用构造函数创建函数对象
            可以把封装的代码以字符串的形式传递给构造函数
            var fun = new function ("console.log(‘Hello‘)");
            封装的函数不会立即执行,调用的时候才按照顺序执行
             调用函数:
                fun();
        方式2:   使用函数声明创建一个函数
                 - 函数声明
                 function 函数名([形参1,形参2...形参N]){
                     语句...
                 }
                 function f() {
                     console.log("这是一个函数声明创建函数f()");
                 }
                 调用函数: f();
        方式3: 使用函数表达式创建函数
                 var 函数名 = function([形参1,形参2...形参N]){
                     语句...
                 };
                var f = function () {
                    console.log("使用匿名函数创建函数赋值给f变量");
                };  //本质上此句是一个赋值语句
3、函数形参
        function sum(a, b) {  // 实参可以是任何类型,也可以是对象()
           return (a+b);
           return ; //返回undefined
        }
        调用函数时,不检查实参的类型和实参的数量
        sum(helll,12)
        var  res = sum(2); //2+ undefined = NaN

 4、对象做函数实际参数
                 /*
                  * 创建一个函数,可以在控制台中输出一个人的信息
                  *     可以输出人的 name age gender address
                  *
                  * 实参可以是任意的数据类型,也可以是一个对象
                  *     当我们的参数过多时,可以将参数封装到一个对象中,然后通过对象传递
                  */
                 function sayHello(o){
                     //console.log("o = "+o);
                     console.log("我是"+o.name+",今年我"+o.age+"岁了,"+"我是一个"+o.gender+""+",我住在"+o.address);
                 }
                 //sayHello("猪八戒",28,"高老庄","男");
                 //创建一个对象
                 var obj = {
                     name:"孙悟空",
                     age:18,
                     address:"花果山",
                     gender:""

                 };

                 //sayHello(obj);

                 /*
                  * 实参可以是一个对象,也可以是一个函数
                  */

                 function fun(a){
                     console.log("a = "+a);
                     //a(obj);
                 }

                 //fun(sayHello);  等价于 sayHello(obj);

                 //fun(function(){alert("hello")});   函数对象做函数参数

             * sayHello()
             *     - 调用函数
             *     - 相当于使用的函数的返回值
             *
             * sayHello  函数名
             *     - 函数对象
             *     - 相当于直接使用函数对象


      </script>
</head>
<body>
</body>
</html>

 

JS函数对象

原文:https://www.cnblogs.com/luoxuw/p/11440492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!