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

    一、类(原型对象)和对象的区别和联系:
    (1)类是抽象的概念,代表一类事物
    (2)对象是具体的,代表一个实体
    (3)对象是以类(原型对象)为模板创建的
    二、创建对象的方式有五种
    1.工厂方法--使用new object创建对象并添加相关属性
    2.使用构造函数来定义类
    function 类名(源性对象名)(){}
    创建对象:var 对象名=new 类名();//在这里类名();就是表示一个类,而直接使用类名();就是调用方法
    在js中一切都是对象
    3.使用prototype
    4.构造函数及原型混合方式
    5.动态原型方式
    三、通过delete 对象名.属性名;//这样就会立 即释放对象的这个属性空间
    四、成员函数(方法):
    对象有属性,有行为(行为在程序中靠函数体现)
    (1)function person(){
    this.show=function(){};
    }
    (2)function show(){}
    var p=new person();
    p.abc=show;在这里相当于把函数赋给该对象的属性,如果后面有小括号,则表示函数的返回值赋给该属性;
    五、function Dog(){
    this.show=function(){
    alert('小狗');
    }
    }//这种方法每个对象都会独占,假如对象很多则会影响效率
    /*function Dog(){}
    Dog.prototype.show=function(){
    alert('小狗');
    }*/ //在这里用原型法添加属性,使得每个对象的该属性都指向同一个方法
    var dog1=new Dog();
    var dog2=new Dog();
    alert(dog1.show==dog2.show);//用双等方法判断两个对象是否指向同一个函数
    六、双等号的作用
    当两边都是字符串的时候,则比较内容
    如果是数字,则比较数的大小
    如果是对象或是对象函数,则比较地址是否相等
    七、function show(){
    var a=1;
    alert(a);
    }
    将一个函数放入括号内就成了一个函数表达式,所以在后面直接加括号就可调用该函数
    (function(){var a=1;alert(a);})();//在这里会打出数字1;
    function aa(){
    var a=1;
    return function(){
    a++;
    alert(a);
    }
    }//在这里要说明的是aa();函数会返回一个函数,而这个函数不会执行(可以理解为函数表达式)
    (function aa(){
    var a=1;
    return function(){
    a++;
    alert(a);
    }
    })()//这种写法会执行外层函数,执行结果就是里面的函数
    ((function aa(){
    var a=1;
    return function(){
    a++;
    alert(a);
    }
    })())()//这种写法就可以将第一次执行后的函数进行执行,弹出数字2;
    //在这里就是代码模块化,减少全局变量的污染;
    八、闭包应用2
    var aa=(function (){
    var a=1;
    function bb(){
    a++;
    alert(a);
    }
    function cc(){
    a++;
    alert(a);
    }
    return {
    b:bb(),//在这里直接返回函数值
    c:cc
    }
    })();
    aa['b'];//这里是对象调用属性的另一种方法
    aa.c();

    新的创建类的方法s5
    Object.create(a,b)
    a:表示要继承的类,也可以为null;b:对象属性的描述,参数
    writable:是否可任意写
    configurable:是否能够删除,是否能够被修改
    enumerable:是否能用 for in 枚举
    value:值

     访问属性:

    get(): 访问
    set(): 设置

  • 相关阅读:
    hibernate中HQL多对多的查询
    Georgia Tech- 新的篇章
    吴军《智能时代》读书笔记
    P5项目完成记录
    Codewar python训练题全记录——持续更新
    优达学城纳米学位P5项目知识点总结——github使用
    优达学城数据分析师纳米学位——P5项目知识点整理贝叶斯规则
    优达学城数据分析师纳米学位——P5项目知识点整理机器学习基本术语
    P3-SQL 学习笔记
    HTML+CSS 学习笔记
  • 原文地址:https://www.cnblogs.com/Upton/p/4753019.html
Copyright © 2011-2022 走看看