美文网首页
2018-05-14 构造函数和普通函数

2018-05-14 构造函数和普通函数

作者: 多佳小昕 | 来源:发表于2018-05-14 17:53 被阅读0次

    在js中,构造函数与普通函数的区别不是很大。接下来就主要讲讲两者的区别。

    1.在命名规则上,构造函数一般是首字母大写,普通函数则是遵照小驼峰式命名法。

    2.在函数调用时,

    //构造函数
    function Egperson (name,age) {
        this.name = name;
        this.age = age;
        this.sayName = function () {
            alert(this.name);
         }
    }
    var person = new Egperson('mike','18'); //this-->person
    person.sayName();  //'mike'
    
    
    //普通函数
    function egPerson (name,age) {
        this.name = name;
        this.age = age;
        this.sayName = function () {
            alert(this.name);
         }
    }
    egPerson('alice','23'); //this-->window
    window.sayName();  //'alice'
    

    可以看出:

    1)构造函数内部会创建一个实例,调用普通函数时则不会创建新的对象。

    2)构造函数内部的this指向是新创建的person实例,而普通函数内部的this指向调用函数的对象(如果没有对象调用,默认为window)

    3.返回值

    返回值方面,对于构造函数而言,如果返回值是基本数据类型,那么返回值就是this指向的实例;如果是复杂数据类型,那么返回值为对象(不知道这句话对不对)

    相关文章

      网友评论

          本文标题:2018-05-14 构造函数和普通函数

          本文链接:https://www.haomeiwen.com/subject/rzmjdftx.html