zoukankan      html  css  js  c++  java
  • javascript面向对象学习

    我的博客:www.while0.com

    我的博客:www.shishangguan.net

    1.不通过创建对象方式调用构造函数,而是以普通方式运行构造函数,则构造函数中的this指向window,如

    (function(){
        var x=function(){
            this.a='a';
            }
            x();
        })()
    alert(a);

    在这一段中,会跳出a,即使构造函数是声明在闭包中的。而通过实例化方式,this则指向实例化对象的私有作用域

    (function(){
        var x=function(){
            this.a='a';
            }
        var y=new x();
        alert(y.a);
        })()

    通过call和apply方法,则会加到指定对象的作用域中去

        var x=function(){
            this.a='a';
            }
        var y=new Object();
        x.apply(y);
        alert(y.a);//a被加到了y的属性上

    2.①每个对象都有一个constructor指向它的构造函数
       ②在 JavaScript 中,用 new 关键字创建对象是执行了下面三个步骤的:
          1. 创建一个新的普通对象;
          2. 将方法对象的 prototype 属性的所有属性复制到新的普通对象中去。
          3. 以新的普通对象作为上下文来执行方法对象。
     ③prototype只有构造函数有
         constructor只要是对象就有,指向创建它的构造函
         __proto__也是每个对象都有,指向创建它的构造函数的prototype

  • 相关阅读:
    植物:吊兰
    植物:文竹
    理论:混沌理论
    图书-数学:《数学之美》
    调味品:味精
    linux查看文件大小df-du
    linux防火墙开启-关闭
    tomcat端口号、日志、启停
    chmod
    jdk-tomcat环境变量设置
  • 原文地址:https://www.cnblogs.com/yamadie/p/2835557.html
Copyright © 2011-2022 走看看