TomKing9
2021-02-02 18:21
采纳率: 75%
浏览 37

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/)

     

    打赏 评论
  • 七弦扶尽 2021-02-03 10:26

    14行 ‘<’ ?

    打赏 评论

相关推荐 更多相似问题