构造函数和普通函数的区别

1、示例

构造函数:
   function Person(name,age){
       this.name = name;
       this.age = age;
       this.sayHi = function() {
           console.log(`My name is ${this.name},I'm${this.age}`)
       }
   }
   let p1 = new Person('xx', 12)
   p1.sayHi(); // My name is xx,I'm 12.
普通函数:
   function person(name,age){
       this.name = name;
       this.age = age;
       this.sayHi = function() {
            console.log(`My name is ${this.name},I'm${this.age}`)
        }
    }
    person('zz', 13)
    person.sayHi(); // My name is zz,I'm 13.

2、区别

  - 构造函数
      1、 一般首字母大写
      2、通过关键字new来调用
      3、函数名既是函数名又是对象类名
      4、会创建一个新对象,并将此对象作为返回值

  -普通函数
      1、首字母小写
      2、直接调用即可
      3、只是一个函数,函数内部没有返回值,则会返回undefined

3、调用构造函数会执行哪些动作

     1、会创建一个新的对象
     2、并且改变this的指向,指向这个新对象
     3、执行函数中代码
     4、若函数没有返回值或者返回值为基本数据类型,则会返回这个新建的对象
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。