zoukankan      html  css  js  c++  java
  • js面向对象总结

    1、字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。
    字面量分为字符串字面量(string literal )、数组字面量(array literal)和对象字面量(object literal),另外还有函数字面量(function literal)。
    示例:
    var test="hello world!";
    "hello world!"就是字符串字面量,test是变量名。

    2、函数声明 (声明前可以调用)

    function add(a,b){
       return a+b;
    }
    add(3,4);//7
    
    add(3,4);//7
    function add(a,b){
    return a+b;
    }

         函数表达式

    var add1=function (a,b){return a+b;};
    add1(2,5);//7

        add1(2,5);// TypeError
        var add1=function (a,b){return a+b;};  

    3、首先理解什么叫对象:一切皆对象(原始值+对象)

    js的数据类型:原始值+对象

    原始值:Boolean、string、number、null、underfind

    对象:object、Array

    4、创建对象的方式(new  字面量 构造函数)

    1)通过new关键字

    var obj=new Object();
    obj.name=name;
    obj.age=age;
    obj.todo=function(){
    }
    

    2)通过对象字面量

    1、简单字面量
    var obj2={};
    obj2.name='ben';
    obj2.todo=function(){
      return this.name;
    }
    2、嵌套字面量
    var obj3={ name:'zhangsan', Key 在有空格、连接符、关键字、保留字要用引号 age:20, value 有引号是字符串
    todo:functon(){
    this.name;
    } }

    3)构造函数(用于复用的公共的方法)

    function Person(name,age){
       this.name=name;                             //this指向实例化对象aaa
        this.age = age;
        this.todo=function(){
        return this.name;
               }
    } 
    var aaa = new Person("zhangsan",20);
    var aaa = new Person("zhangsan",25);
    aaa.name;//"zhangsan"
    bbb.age;//25

    普通函数

    function personName(name,age){
       return name;
    }
    person('qing',30);//"qing" 

    构造函数与普通函数区别:

    1、this指向:构造函数指向创建的对象实例,普通this指函数的调用者

    2.  调用方式:构造函数 :new

    3、命名方式:构造函数:首字母大小 ,普通:驼峰

    实例:点击出现弹窗

    普通函数方式:

        $(function() {
            //移入显示查看,反之隐藏
           $(".content .list-b").hover(function() {
             $(this).find(".see").show();
             },function() {
             $(this).find(".see").hide();
             });
             //单击查看显示弹层
             $(".see").click(function() {
             $(".bg, .popupbox").show();
             //$(".bg").show();
             });
             //单击取消/关闭隐藏弹层
             $(".btn3, .cancel").click(function() {
             $(".bg, .popupbox").hide();
             //$(".bg").show();
             });
             popup();
             function popup() {
             var box = $(".popupbox");
             var _width = document.body.clientWidth;
             var _height = document.body.clientHeight;
             var $width = (_width-box.width())/2;
             var $height =(_height-box.height())/2;
             box.css({'left':$width,'top':$height});
             };
        })
    

      面向对象  创建字面量方法:首先创建一个对象,对象里面有bind()、popup()方法,但是方法多,就初始化一个init()方法嵌套字面量,用this.bind()调用.最后只调用obj.init()。

     var obj={
            init:function(){
                this.bind();
                this.popup();
            },
            bind:function(){
                //移入显示查看,反之隐藏
             $(".content .list-b").hover(function() {
              $(this).find(".see").show();
             },function() {
             $(this).find(".see").hide();
             });
             //单击查看显示弹层
             $(".see").click(function() {
             $(".bg, .popupbox").show();
             //$(".bg").show();
             });
             //单击取消/关闭隐藏弹层
             $(".btn3, .cancel").click(function() {
             $(".bg, .popupbox").hide();
             //$(".bg").show();
             });
            },
            popup:function(){
                var box = $(".popupbox");
             var _width = document.body.clientWidth;
             var _height = document.body.clientHeight;
             var $width = (_width-box.width())/2;
             var $height =(_height-box.height())/2;
             box.css({'left':$width,'top':$height});
            }
        }
        $(function(){
           obj.init();
        })
    

      

    工厂模式

    function person(name,age){
          var obj= new Object();
    	  obj.name = name;
    	  obj.age =age;
      	  return obj;
    }
    var a1=person('qing',33);
    a1.name;//"qing"

      

      

    4、面向对象用法

  • 相关阅读:
    数据结构与算法——优先队列类的C++实现(二叉堆)
    Effective C++--经验条款
    [精]读览天下免费阅读平台
    团队现状与用人标准——揭秘万达电商(6)
    稀疏向量计算优化小结
    漫谈雪崩
    Git起步
    Solr 配置文件之schema.xml
    Shader toy (顺手写两个Gyro)(纯代码写3D)
    Tomcat服务器安装
  • 原文地址:https://www.cnblogs.com/colorful-paopao1/p/8302950.html
Copyright © 2011-2022 走看看