zoukankan      html  css  js  c++  java
  • JavaScript面向对象之类

    提点:

    1、JavaScript是HTML辅助作用的弱类型语言,它的对象可以是:声明的变量,函数,{}等等。

    2、JavaScript也可以面向对象:因为js语言比较灵活,它提供的函数也可以作为一个对象,通过new 关键字来产生一个实例。

    3、实现对属性和方法的封装,最终形成类;类是抽象的,对象是具体的;但是Javascript中可以混合使用,这正体现了Javascript作为编程语言与其他语言比较下的最大优势,以致这种灵活性的编程方式令其他语言望尘莫及。

    示例:

     /**
      *声明一个类似于java的类并添加其属性
      */
     var User=function(){
       var name='jack';//默认值
       var gender='male';//默认值
       var age=20;//默认值
       this.setName=function(name){
            this.name=name;
      };
       this.getName=function(){
           return this.name;
      };
       this.setGender=function(gender){
           this.gender=gender;
      };
      this.getGender=function(){
        return this.gender;
      };
      this.setAge=function(age){
           this.age=age;
      };
      this.getAge=function(){
         return this.age;
      };
      this.introduceMyself=function(){
         alert('Hello!my name is '+this.getName()+",I'm "+this.getAge()+'years old!');
      };
    }
    
    /**
    
    *其他几种简写方法及调用
    
    */
    
    //内部类的方法和属性 
       var people=function(kind,color,life){
         this.kind=kind;
         this.life=life;
         this.color=color;
         this.infos=function(){
           alert('kind :'+kind+' color: '+color+' life :'+life);
         }
       } 
       function description(){
        //创建一个实例并调用其方法 
         new people('America','white',61).infos();
       }
      //设置一个实体类 
       function User(){
          this.name="Ben";
          this.age=21;
          this.email="yk_ben@123.com";
          this.work='student';
          this.sex='man';
       }
       //实例对象的创建和使用 
       var user=new User();
       //调用实例
       function sayHi(){
          alert('Hello everyone!I am '+user.name);
       }
       //为实体对象添加方法
       user.info=function(){
          var call=user.sex=='man'?'He':'She', alias=user.sex=='man'?'boy':'girl';
          alert('This is '+user.name+"'s information: "+call+' is a '+alias+' and '+
                 call+' is '+user.age+' years old!');
       }
       function info(){
          user.info();
       }
       user.str=function(){alert(this.name+this.email+this.sex+this.age+this.work);}
       function str(){
          user.str();
       }
       //创建无类型类
       var teacher={name:'TomShen'};
       function seeName(){
         alert('Teacher name is '+teacher.name);
       }
    
     
  • 相关阅读:
    浩然战法--黄金柱选股
    《含泪活着》主人公一一丁尚彪,叙述在日本当黑户口的危险经历,美国《世界日报》2017年3月16日连载
    Java8与JDK8和JDK1.8有什么区别?
    ThreadLocal
    什么是jsonp
    Java中比较对象大小的两种实现方式
    MySQL教程之concat以及group_concat的用法
    多级树形结构和sql查询实现
    mysql树形结构递归查询
    Maven配置教程
  • 原文地址:https://www.cnblogs.com/boonya/p/2378512.html
Copyright © 2011-2022 走看看