1, 构造函数也是一个普通函数, 创建方式和普通函数一样, 但构造函数习惯上首字母大写
2, 构造函数和普通函数的区别在于: 调用方式不一样. 作用也不一样 (构造函数用来新建实例对象)
3, 调用方式不一样.
普通函数的调用方式: 直接调用 person();
构造函数的调用方式: 需要使用 new 关键字来调用 new Person();
4, 构造函数的函数名与类名相同: Person( ) 这个构造函数, Person 既是函数名, 也是这个对象的类名
5, 内部用 this 来构造属性和方法
- function Person(name,job,age)
- {
- this.name=name;
- this.job=job;
- this.age=age;
- this.sayHi=function()
- {
- alert("Hi")
- }
- }
6, 构造函数的执行流程
立刻在堆内存中创建一个新的对象
将新建的对象设置为函数中的 this
逐个执行函数中的代码
将新建的对象作为返回值
7. 普通函数例子: 因为没有返回值, 所以为 undefined
8, 用 instanceof 可以检查一个对象是否是一个类的实例, 是则返回 true; 所有对象都是 Object 对象的后代, 所以任何对象和 Object 做 instanceof 都会返回 true
.
来源: http://www.bubuko.com/infodetail-2988555.html