zoukankan      html  css  js  c++  java
  • 前端修炼-javascript关键字之prototype

       通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表。只有构造器(Object,Function,Array,Date,String)才具有且会有一个prototype属性。原型链继承就是创建一个新的指针,指向构造器的prototype属性。

     prototype属性列表会默认有一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在指针,也就是当前对象自己。

        

     1 function baseClass()
     2 {
     3     this.showMsg = function()
     4     {
     5         alert("baseClass::showMsg");   
     6     }
     7    
     8     this.baseShowMsg = function()
     9     {
    10         alert("baseClass::baseShowMsg");
    11     }
    12 }
    13 baseClass.showMsg = function()
    14 {
    15     alert("baseClass::showMsg static");
    16 }
    17 
    18 function extendClass()
    19 {
    20     this.showMsg =function ()
    21     {
    22         alert("extendClass::showMsg");
    23     }
    24 }
    25 extendClass.showMsg = function()
    26 {
    27     alert("extendClass::showMsg static")
    28 }
    29 
    30 extendClass.prototype = new baseClass();
    31 var instance = new extendClass();
    32 
    33 instance.showMsg(); //显示extendClass::showMsg
    34 instance.baseShowMsg(); //显示baseClass::baseShowMsg
    35 instance.showMsg(); //显示extendClass::showMsg
    36 
    37 baseClass.showMsg.call(instance);//显示baseClass::showMsg static
    38 
    39 var baseinstance = new baseClass();
    40 baseinstance.showMsg.call(instance);//显示baseClass::showMsg
  • 相关阅读:
    Java中的4种代码块
    Java enum(枚举)的用法详解(转)
    Java 可变参数列表
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    SQL Server 数据查询 整理
    MYSQL常用命令
    SQL的主键和外键约束(转)
    Servlet工作原理(转)
    servlet、genericservlet、httpservlet之间的区别(转)
    关于MyEcplise中常见的问题和解决方案
  • 原文地址:https://www.cnblogs.com/haiwang/p/6761232.html
Copyright © 2011-2022 走看看