美文网首页
面向对象

面向对象

作者: 彭于晏的老婆呀 | 来源:发表于2018-08-08 20:52 被阅读0次

    面向对象编程 OOP (Object Oriented Programming),定义一个类,从类中拿到对象,由对象去解决问题。

    面向过程:面向过程专注于如何去解决一个问题的过程步骤。

    面向对象的三大特征:封装、多态、继承

    类:一类具有相同属性和方法的集合;

    对象:类中某个元素的具体化;

    类是对象的抽象化,对象是类的具体化。类也是一种对象。

    1.对象的声明

    (1)通过object去声明一个对象

    var obj = new Object();        new一个类或函数

    obj.name = "奥迪";

            obj.age = 17;

            obj.run = function () {

                var number = 10;

                return number

            }                                        声明对象


    (2)  直接用{},声明里面一个值;

    var obj={sname:Tom;}


    (3)类的实例化

    var obj3 = function(){this.sname = “marry”};

      var  obj4 = new obj3();


    2.对象的两个重要性

    constructor:返回当前对象的函数值;

    instanceof:检验一个对象是不是一个类的实例;

    var a = new Car();

            var b = new Car2();

            console.log(a)

            console.log(a.constructor);

            console.log(a instanceof Car2);

            console.log(a instanceof Car);

    js中的函数:函数即对象,程序可以随意操控他们。

    闭包:函数可以嵌套在其他函数中定义,这样他们就可以访问他们被定义时所处的作用域中的任何变量。

    //先执行了一次A()函数,然后返回一个function 给予这个a变量

            var a = (function A() {

                //全局变量

                var value = 0;

                return function () {

                    value++;

                    alert(value+"次数")

                }

            })();


    1.函数生成的方法:

    (1) 函数声明:

    function Test() {

                var a;

                var b;

                if(arguments.length == 2){

                    a = arguments[0];

                    b = arguments[1];

                }

                return a+b;

            }


    (2) 表达式声明函数

    var x = function () {

                var a;

                var b;

                if(arguments.length == 2){

                    a = arguments[0];

                    b = arguments[1];

                }

                return a+b;

            }


    (3)构造函数

    var f = new Function("a","b","return a+b");

            alert(f(1,10));


    相关文章

      网友评论

          本文标题:面向对象

          本文链接:https://www.haomeiwen.com/subject/lkzxbftx.html