zoukankan      html  css  js  c++  java
  • Javascript[obj&prototype&class] 实践学习1

    1、函数(构造函数)

    var p = new Person('Herry', '22');
    alert(p.age);
    function Person(name, age) {
       this.name = name;
       this.age = age;
    }
    这时我们就有了一个 function,而且这个 function 会有一个 prototype 的属性, 通过这个属性可以访问该函数的原型,
    从图中可以看出,其实不仅仅是可以通过 Person.prototype 访问原型,原型中也有一个 constructor 的属性,Person.prototype.constructor 就指向 Person 函数自身。

     

    创建实例:
    1 var p1 = new Person("Jack", 20);
    2 var p2 = new Person("Peter", 22);
    3 alert(p2.name); // Peter
    4 alert(p2.constructor); // 函数自身
    5 alert(Person.prototype.constructor); // 函数自身
    当创建了实例 p1 和 p2 之后,p1, p2 内都存在内部属性 [ [ Prototype ] ],
    而这个属性,其实就指向构造函数 Person 的原型,有趣的是 p1 和 p2 和构造函数 Person 本身没有直接的关系, 它们的联系就是它们都指向了同一个原型

     

    每当读取对象的某个属性时,都会执行一次搜索,目标是具有给定名字的属性,
    搜索首先从对象实例本身开始,如果在实例中找到了具有给定名字的属性,则返回该属性的值,
    如果没有找到,则继续搜索该实例的原型,在原型对象中查找具有给定名字的属性
    Person.prototype.sayHi = function() {
       document.write("<div>Hi</div><hr>");
    }
    var say = new Person(); 
    say.sayHi(); // Hi
    原型肯定是一个object;
    原型的构造函数,指向函数本身,输出其本身的构造代码;
  • 相关阅读:
    JSP源码、改写Servlet为JSP、查看转译成为Servlet的文件、JSP字符编码设置
    使用Tomcat部署应用
    缓冲与缓存
    过滤器及请求封装器实现字符编码
    过滤器与请求封装器实现字符替换
    过滤器
    与请求相关的监听器
    区块链简介
    https协议简介
    http协议简介
  • 原文地址:https://www.cnblogs.com/smallgo/p/3110273.html
Copyright © 2011-2022 走看看