+发表新主题
查看: 1589|回复: 0

[代码片段] js 面向对象

[复制链接]

[代码片段] js 面向对象

[复制链接]
luxiabao 发表于 2016-1-5 21:46:51 浏览:  1589 回复:  0 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
面向对象:


一.什么是对象:程序中描述现实中一个具体事物的属性和功能的结构,一块可以存储多个数据的存储空间

         面向对象:程序中都是用一个对象来描述现实中一个事物

              事物的属性就会成为程序中对象的属性变量

              事物的功能就会成为程序中对象的方法变量

                  属性和方法统称为对象的成员。

       方法就是一个函数!只不过被包含在一个对象中才成为方法

       封装:将多个相关的属性和函数集中定义在一个对象中


二.创建对象:

    1. 创建一个单独的对象:

          1. 对象直接量方式:

                  var obj={

                      属性名:属性值,

              方法名:function(参数列表){方法体;return返回值}

              };

     

  1. //对象

  2.         var lilei={

  3.       sname:"Li Lei",

  4.                   age:18,

  5.   intrSelf:function(){

  6.   alert("I'm Li Lei,I'm 18")}

  7.           }

  8.    console.log(lilei["sname"]);

  9.    console.log(lilei.age);

  10.            console.log(lilei.intrSelf());
  11. 213758rpx0wd5tlbbg5gox.png
  12. 213758rpx0wd5tlbbg5gox.png
  13.            js中的对象,底层都是一个关联数组。                    对象的属性和方法都是关联数组中的元素。          window就是最大的一个关联数组对象:             所有全局变量和函数都是window的成员!          方法,其实就是一个保存函数地址的属性而已。           如何访问对象中的属性和方法:点------->的              比如:对象.属性-->一个变量                    对象.方法()-->一个函数           2. 使用new创建:           2步:先创建空对象;再为空对象追加新成员              var obj=new Object(); -->{}              obj.属性名=属性值;              obj.方法名=function(){xxx};
  14. //对象,使用new创建:

  15.   var hmm=new Object();   

  16. hmm.sname="Han Meimei";

  17.              hmm["age"]=19;

  18. hmm["intrSelf"]=function(){

  19. alert("I'm Han Meimei,I'm 19")};

  20.         console.log(hmm["sname"]);

  21. console.log(hmm["age"]);

  22.         console.log(hmm.intrSelf());
  23. 213758rpx0wd5tlbbg5gox.png
  24. 213758rpx0wd5tlbbg5gox.png
  25.     2. 反复创建多个相同结构的对象(利用构造函数):         1. 定义构造函数                什么是构造函数:专门定义一类对象的统一属性和方法的结构的函数             如何定义:              function 类型名/构造函数名(参数列表){                                       this.属性名=参数;                  this.方法名=function(){...}                  }                什么是this:值随时执行当前正在使用的对象:                           在构造函数中表示正在创建的对象                           在方法中表示正在调用方法的对象                    方法中都要使用this.方式访问当前对象的属性                    this默认为window                       
  26. 213758rpx0wd5tlbbg5gox.png
  27.               注意:this和定义在哪儿无关!只和调用时的对象有关!      
  28. //构造函数

  29. function Student(sname,age){

  30.      this.sname=sname;

  31. this.age=age;

  32. this.intrSelf=function(){

  33.     alert("I'm "+this.sname+","+" I'm "+this.age);

  34.                }

  35.    }
复制代码

     3. 调用构造函数创建对象:

           var obj=new 类型名/构造函数名(属性值列表);   


  • //调用构造函数
  •          var lilei=new Student("lilei",18);
  • var hmm=new Student("hmm",19);
  •           console.log(lilei.sname);
  •   console.log(lilei.age);
  •   console.log(lilei.intrSelf());
  •   console.log(hmm.sname);
  •   console.log(hmm.age);  console.log(hmm.intrSelf());

复制代码
213758rpx0wd5tlbbg5gox.png 213758rpx0wd5tlbbg5gox.png 213758rpx0wd5tlbbg5gox.png


回复

使用道具 举报


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网