zoukankan      html  css  js  c++  java
  • 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>
     
  • 相关阅读:
    多测师讲解html _伪类选择器17_高级讲师肖sir
    多测师讲解html _后代选择器16_高级讲师肖sir
    多测师讲解html _组合选择器_高级讲师肖sir
    多测师讲解html _标签选择器14_高级讲师肖sir
    前端 HTML form表单标签 input标签 type属性 重置按钮 reset
    前端 HTML form表单标签 textarea标签 多行文本
    前端 HTML form表单标签 input标签 type属性 file 上传文件
    前端 HTML form表单标签 input标签 type属性 radio 单选框
    前端 HTML form表单标签 input标签 type属性 checkbox 多选框
    前端 HTML form表单目录
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12432402.html
Copyright © 2011-2022 走看看