zoukankan      html  css  js  c++  java
  • javascript学习随笔(二)原型prototype

    JavaScript三类方法:

    1、类方法;2、对象方法;3、原型方法;注意三者异同

    例:

     1 function People(name){
     2 this.name=name;
     3 //对象方法
     4 this.Introduce=function(){
     5 console.log('My Name Is '+this.name);
     6 }
     7 }
     8 
     9 //类方法
    10 People.Run=function(){
    11 console.log('I Can Run');
    12 }
    13 
    14 //原型方法
    15 People.prototype.IntroduceChinese=function(){
    16 console.log('我的名字是'+this.name);
    17 }
    18 
    19 //测试
    20 var p=new People('Tom');
    21 
    22 p.Introduce();
    23 People.Run();
    24 p.IntroduceChinese();

     JavaScript对象类型原型引用,切记将某对象的原型赋给某对象原型,这不是继承关系,而是将克隆,且存在冲突函数或属性时,保留自己的函数和属性

    例1、

     1 function  BaseClass(){
     2 this.showMsg=function(){
     3 alert('baseClass::showMsg');
     4 };
     5 }
     6 
     7 function  ExtendClass(){
     8 
     9 }
    10 
    11 ExtendClass.prototype=new BaseClass();
    12 
    13 var extend=new ExtendClass();
    14 extend.showMsg();//弹出baseClass::showMsg

    例2、

     1 function  BaseClass(){
     2 this.showMsg=function(){
     3 alert('bassClass::showMsg');
     4 };
     5 }
     6 
     7 function  ExtendClass(){
     8 this.showMsg=function(){
     9 alert('extendClass::showMsg');
    10 };
    11 }
    12 
    13 ExtendClass.prototype=new BassClass();
    14 
    15 var extend=new ExtendClass();
    16 extend.showMsg();//弹出extendClass::showMsg

    函数运行时会先去本体的函数中去找,如果找到则运行,找不到则去prototype中寻找函数。或者可以理解为prototype不会克隆同名函数.

  • 相关阅读:
    03、Jenkins相关概念
    02、Jenkins安装部署
    01、Jenkins简介
    10.ansible 利用playbook部署LAMP环境
    09.ansilbe利用playbook部署LNMP环境
    08.编译安装httpd
    python入门到放弃(五)-基本数据类型之list列表
    python入门到放弃(四)-基本数据类型之str字符串
    python入门到放弃(三)-基本数据类型之int整数和bool值
    CentOS7.5源码编译安装mysql5.7.29
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/4514327.html
Copyright © 2011-2022 走看看