美文网首页
JavaScript笔记(一)

JavaScript笔记(一)

作者: 执剑饮烈酒 | 来源:发表于2020-06-05 20:29 被阅读0次

    一、面向对象面向过程的区别

        1、什么是js对象

            js对象:属性和方法的集合,js所有数据都可以看成对象。

            面向过程:专注于过程,注重过程,参与每一个步鄹。

            面向对象:只关注结果,不在意细节。

        2、各自优缺点

            面向过程:

                缺点:不适合大型项目,代码可维护性低,可扩展性比较低。

                优点:不需要实例化对象,性能好点

            面向对象:

                缺点:

                优点:代码可维护性高,可扩展性高。

        课外扩展

            typeof检查变量的类型,返回一个字符串,例如:string、number、boolear等等。

            instanceof 判断一个实例是否属于某种类型;

            a instanceof b 用于判断a是否是b的实例,用于继承关系;

            c instanceof Array 判断一个c是否是一个数组;

    二、面向对象创建方式

        1、字面量方式

            var people = {属性名:属性值,方法名:方法体}

            var perple = {

                name : '达康',

                say:function(){

                    函数体

                }

            }

            访问对象属性方法的方式

            obj.name  obj['name'];

            obj.say();

            对象添加属性  属性名:属性值

            people.phone = '12345566';

            删除    delete(对象:属性名)

        2、实例化对象

        var obj = new Object();

        obj.name = '达康'

        3、工厂模式

            function Car(){

                //实例化对象

                var obj = new Objcet ;

                obj.name = '比亚迪';

                obj.age = '1.8T;

                obj.run  = function (){

                }

                //返回对象

                return obj;

            }

            Car()  //调用方法

            var obj1 = Car(); 

        4、构造函数模式

            function Phone (){

                this.brand = '华为',

                this.ca = function(){

                    console.log('9999)

                }

            }

            //实例化

            var obj = new Phone();

        构造函数模式和工厂模式的区别

            构造函数:

                1、构造函数模式内部不需要实例化对象,不需要返回对象,

                2、在函数外部使用new实例化

                3、函数内部使用this关键字定义属性、方法;

            工厂模式:

                1、函数内部需要实例化对象,需要返回值

                2、函数内部使用实例化对象的变量定义方法属性

                3、外部不需要实例化

    三、

        '.'和'[]'的区别

            .访问的属性名必须符合标识符的命名规范,属性名不能使用变量名,不需要加引号'';

            []访问的属性名可以不符合命名规范,属性名可以使用变量名,可以加引号'';

    四、对象遍历方法

    如果使用for in 遍历对象,只能使用[]访问对象的属性方法

            for(key in obj){

        obj[key]

        }

    相关文章

      网友评论

          本文标题:JavaScript笔记(一)

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