zoukankan      html  css  js  c++  java
  • 【学习】js学习笔记:对象的遍历和封装特性

    1、对象的属性访问:

    对象.属性

    对象[属性],但中括号中必须是字符串

    2、属性的遍历:

    for in方法举例:

    var ren={};

    ren.name="名字";

    ren.eat=function(){

             alert("吃饭");

             }

            

    for(var i in ren){

             alert(ren[i]);

             }

    3、封装-工厂函数,这种方式格式不规范

    function dianshi(color,size,brand){

                       var tv={};

                       tv.color=color;

                       tv.size=size;

                       tv.brand=brand;

                       tv.play=function(){

                                alert("玩");

                                }

                       tv.look=function(){

                                alert("看");

                                }

                       return tv;

                       }

            

             var d1=dianshi("red","42cun","sony");

             var d2=dianshi("blue","40cun","长虹");

             var d3=dianshi("green","30cun","康佳");     

            

             alert(d1.color);

             alert(d2.size);

             alert(d3.brand);

    4、封装-构造函数,这种方式格式更正式

    function tv(color,size,brand){          

                       this.color=color;

                       this.size=size;

                       this.brand=brand;

                       this.play=function(){

                                alert("玩");

                                }

                       this.look=function(){

                                alert("看");

                                }

                       }

            

             var d1=new tv("red","42cun","sony");

             var d2=new tv("blue","40cun","长虹");

             var d3=new tv("green","30cun","康佳");      

            

             alert(d1.color);

             alert(d2.size);

             alert(d3.brand);

    5、封装-代码段

    prototype方法:将共有的方法和属性添加到代码段中

    function tv(color,size,brand){          

                       this.color=color;

                       this.size=size;

                       this.brand=brand;            

                       this.look=function(){

                                alert("看");

                                }

                       }

                      

             tv.prototype.play=function(){

                                alert("玩");

                                }

            

             var d1=new tv();

             d1.play();

    6、混合方法:几种方式的混合,扬长避短

    function tv(color,size,brand){          

                       this.color=color;

                       this.size=size;

                       this.brand=brand;            

                       this.look=function(){

                                alert("看");

                                }

                       }

                      

             tv.prototype.obj={name:"名字"}    

                      

             tv.prototype.play=function(){

                                alert("玩");

                                }

            

             var d1=new tv();

            

             d1.play();

             alert(d1.obj.name);

  • 相关阅读:
    Android查看应用方法数
    解决问题 inner element must either be a resource reference or empty.
    Android JSBridge原理与实现
    CDN详解
    Android studio 将 Module 打包成 Jar 包
    Imageloader、Glide、Fresco的性能及加载速度比较
    Mac之如何查看已用端口
    yum安装docker-ce-18.03.0
    脚本检测Kafka和Zookeeper
    Docker搭建ElasticSearch+Redis+Logstash+Filebeat日志分析系统
  • 原文地址:https://www.cnblogs.com/xiaoxianweb/p/5726506.html
Copyright © 2011-2022 走看看