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

    oop全称是:Obeject Oriented Programming

    1.构造函数和普通的函数之间的区别在于他的函数名首字母要大写,构造函数也叫类。

    2.对象也叫实例。

    3.由类=》对象的过程叫实例化。

    4.实例方法有constructor和instanceof。

    对象名.constructor返回的结果是一个类;而对象名  instanceof  类则是判断该对象是否属于这个类。

    5.静态属性和方法也叫类属性和类方法,只能由类本身来调用。

    6.私有属性,只能在函数体内用,相当于局部变量。

    /* 封装 */
    function Person1(){
    console.log("你的函数被调用了");
    }
    var zhangsan = new Person;//实例化 会调用构造函数
    zhangsan.name = "zhangsan";//实例属性
    //实例方法
    zhangsan.say = function (){
    console.log("hello")
    };

    /* 构造函数 */
    function Person(name,age,sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
    }
    /* 实例化 */
    var zhangSan = new Person("张三",20,"男");
    var liSi = new Person("李四",23,"男");
    var xiaoFang = new Person("小芳",22,"女");
    /* 实例方法 */
    console.log(zhangSan.constructor);//返回对象的构造函数
    console.log(liSi instanceof Person);//判断对象是否是某个类的实例
    Animal.age = 10;
    /* 静态方法(类方法)*/
    Animal.move = function (){
    console.log("移动");
    };
    /* 实例化对象 */
    var cat = new Animal;
    Animal.move();

    /* 私有属性 */
    function Human(name){
    this.name = name;
    var age = 100;//私有属性,只能咋函数体内用
    this.getAge = function(){
    if(this.name == "zhangsan2"){
    return age;
    }
    }
    }
    var zhangsan2 = new Human("zhangsan2");
    console.log(zhangsan2.name);
    console.log(zhangsan2.getAge());
    //console.log(zhangsan2.age);//无法调用私有属性

    var lisi2 = new Human("lisi2");
    console.log(lisi2.name);
    console.log(lisi2.getAge());
    //console.log(lisi2.age);//无法调用私有属性

    /* 作用域链 变量提升 */
    //1
    var data = 10;
    function fun1(){
    var data = 100;
    }
    fun1();
    console.log(data);//data = 10


    //2
    function fun2(){
    data = 100;
    }
    fun2();
    console.log(data);//data = 100


    //3
    function fun3(){
    data = 100;
    fun4();
    function fun4(){
    data = 1000;
    fun5();
    function fun5(){
    data = 10000;
    }
    }
    }
    fun3();
    console.log(data);//data = 10000
  • 相关阅读:
    AngularJS Insert Update Delete Using PHP MySQL
    Simple task manager application using AngularJS PHP MySQL
    AngularJS MySQL and Bootstrap Shopping List Tutorial
    Starting out with Node.js and AngularJS
    AngularJS CRUD Example with PHP, MySQL and Material Design
    How to install KVM on Fedora 22
    Fake_AP模式下的Easy-Creds浅析
    河南公务员写古文辞职信
    AI
    政协委员:最大愿望是让小学生步行上学
  • 原文地址:https://www.cnblogs.com/chencuixin/p/6555552.html
Copyright © 2011-2022 走看看