TomKing9 2021-02-02 18:21 采纳率: 77.8%
浏览 48
已采纳

js 构造函数中方法中点调用函数的问题

<script>
        alert("haha");
        document.write("haha"); 
        function fun(){
            console.log(" i am console");
        }
        fun();
        function fun1(name ,age,sex) {
            this.name=name;
            this.age=age;
            this.sex=sex;
            this.sayName=fun11;//为什么这里调用函数名的时候不用打括号
        }
        function fun11(){<
            console.log("hello,i am "+this.name);
        }
        var obj=new fun1('tmk',12,'man');
        obj.sayName();
        console.log(obj instanceof fun1);


            
    </script>
  • 写回答

2条回答 默认 最新

  • 幻灰龙 2021-02-05 10:11
    关注

    直接的回答:

    1. 在JavaScript里面function是一等公民,函数可以被赋值给变量,等待需要调用的时候再调用。
    2. 12行的是fun11被赋值给fun1的成员变量this.sayName,这里不是函数调用,而是把函数赋值给了sayName这个变量
    3. 17行使用func1构造了一个对象obj,这个obj是func1的一个实例,这个实例构造的时候把func11赋值给了obj.sayName
    4. 18行调用了obj.sayName,实际上就是调用了func11

     

    根本的问题:

    1. 你需要系统学习JavaScript,从基础上真正掌握JavaScript。
    2. 例如系统过一遍 《ES6入门教程》(https://es6.ruanyifeng.com/)

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块