微信扫一扫打赏支持

js参考---构造函数

js参考---构造函数

一、总结

一句话总结:

构造函数是用new关键字创建,并且首字母大写,本质上也是个函数,例如var obj = new Person('老铁',18);
function Foo(name,age,sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
}
Foo.prototype.belief = function(){
    console.log('量变是质变的必要准备,质变是量变积累到一定程度的必然结果!');
};
let f = new Foo ('zh',18,'男');

 

 

1、js中构造函数存在的意义是什么?

js中的构造函数可以用来创建对象,创建属于同一个类的对象

 

2、this指向的情况(包括构造函数)?

谁调用,就指向谁,包括构造函数(构造函数是新对象在调用,所以指向新对象)

1.当以函数的形式调用时,this是window
2.当以方法的形式调用时,谁调用方法this就是谁
3.当以构造函数的形式调用时,this就是新创建的那个对象

 

 

二、构造函数

博客对应课程的视频位置:

 

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7         
 8             /*
 9              * 创建一个构造函数,专门用来创建Person对象的
10              *     构造函数就是一个普通的函数,创建方式和普通函数没有区别,
11              *     不同的是构造函数习惯上首字母大写
12              * 
13              * 构造函数和普通函数的区别就是调用方式的不同
14              *     普通函数是直接调用,而构造函数需要使用new关键字来调用
15              * 
16              * 构造函数的执行流程:
17              *     1.立刻创建一个新的对象
18              *     2.将新建的对象设置为函数中this,在构造函数中可以使用this来引用新建的对象
19              *     3.逐行执行函数中的代码
20              *     4.将新建的对象作为返回值返回
21              * 
22              * 使用同一个构造函数创建的对象,我们称为一类对象,也将一个构造函数称为一个类。
23              *     我们将通过一个构造函数创建的对象,称为是该类的实例
24              * 
25              * this的情况:
26              *     1.当以函数的形式调用时,this是window
27              *     2.当以方法的形式调用时,谁调用方法this就是谁
28              *     3.当以构造函数的形式调用时,this就是新创建的那个对象
29              * 
30              */
31             function Person(name , age , gender){
32                 this.name = name;
33                 this.age = age;
34                 this.gender = gender;
35                 this.sayName = function(){
36                     alert(this.name);
37                 };
38             }
39             
40             function Dog(){
41                 
42             }
43             
44             var per = new Person("孙悟空",18,"男");
45             var per2 = new Person("玉兔精",16,"女");
46             var per3 = new Person("奔波霸",38,"男");
47             
48             var dog = new Dog();
49             
50             /*console.log(per);
51             console.log(dog);*/
52             
53             /*
54              * 使用instanceof可以检查一个对象是否是一个类的实例
55              *     语法:
56              *         对象 instanceof 构造函数
57              * 如果是,则返回true,否则返回false
58              */
59             //console.log(per instanceof Person);
60             //console.log(dog instanceof Person);
61             
62             /*
63              * 所有的对象都是Object的后代,
64              *     所以任何对象和Object左instanceof检查时都会返回true
65              */
66             //console.log(dog instanceof Object);
67             
68             
69         </script>
70     </head>
71     <body>
72     </body>
73 </html>

 

 

 

 
posted @ 2020-03-07 05:07  范仁义  阅读(241)  评论(0编辑  收藏  举报