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>
     
  • 相关阅读:
    Unity攻击敌人时产生泛白效果
    将网页发布到远程windows server
    IIS服务器添加网站
    ASP.NET添加Mysql数据源
    ASP.NET网页VS利用文件系统发布
    爱的印记
    生如夏花之绚烂,死如秋叶之静美
    WordPress函数小结
    设置WordPress文章关键词自动获取,文章所属分类名称,描述自动获取文章内容,给文章的图片自动加上AlT标签
    童年的流逝
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12432402.html
Copyright © 2011-2022 走看看