天天看点

JavaScript中的对象和三种创建方法

1.编程思想:把生活中做的一些事的经验融入到程序中

       面向过程:凡事都要亲力亲为,每件事具体到过程都要知道,注重的是过程

       面向对象:根据需求找对象,所有事情都是通过对象来完成,注重的是结果.

2.面向对象的特点:封装  继承  多态----后端语言的特点,JavaScript没有

     js不是一门面向对象的语言,但是js可以模拟面试对象思想

         ----js是一门基于对象语言;

      js是一门脚本语言---不需要编译

      js是一门解释型语言---通过浏览器解析

      js是一门动态类型的语言---变量在赋值之前是不知道什么类型

      js是一门弱类型语言---声明变量用var

3.什么是对象-----万物皆对象

      看得见,摸得着,具体特指某个事物

4.对象的特点:特征和行为

             遥控器特点:

                           颜色:黑色

                           尺寸:20cm

                           按钮:20个

             遥控器的行为;

                           开关投影

                           调分辨率...

 5.结论:对象特征和行为,具体特指某一个事物

           在编程语言中:  特征---->属性

                                  行为---->方法

6.js中的对象:一组无序列表的集合

js中创建对象几种方法

1.使用构造函数创建对象

       1)使用object构造函数实例化对象;

           var obj= new Object();

         对象特征  特征--->属性

                  行为---->方法

         对象添加属性: 对象.方法=值

         对象添加方法: 对象.方法=function(){};

var obj = new Object();
    obj.name = '小明';
    obj.age=18;
    obj.eat=function () {
        console.log('吃饭');
    }
    obj.study=function () {
        console.log('学习');
    }
    console.log('名字叫'+obj.name+'今年'+obj.age);
    obj.study();
           

        2)使用工厂函数批量创建创建对象

         所谓工厂函数,就是指这些内建函数都是类对象,当你调用他们时,实际上是创建了一个类实例

function  createObjs(name,age) {
        var obj= new Object();
        obj.name=name;
        obj.age=age;
        obj.study=function () {
            console.log('学习');
        }
        return obj;
    }
    var obj1=createObjs('张三',18);
    console.log(obj1.name,);
           

2.使用自定义构造函数创建对象

            Javascript并不像Java、C#等语言那样支持真正的类。但是在js中可以定义伪类。做到这一点的工具就是构造函数和原型             对象。首先介绍js中的构造函数。Javascript中创建对象的语法是在new运算符的后面跟着一个函数的调用。如

//创建自定义构造函数
    function Person(name,age) {
        this.name = name;
        this.age = age;
        this.sayHi = function () {
            console.log('你好');
        }
    }
    //实例化对象
    var obj = new Person('张三',18);
    console.log(obj.name, obj.age);
    obj.sayHi();
    var obj1 = new Person('李四',20);
    console.log(obj1.name, obj1.age);
           

Javascript中的构造函数通常没有返回值。但是,函数是允许有返回值的。如果一个构造函数有一个返回值,则返回的对象成为new表达式的值。在此情况下,作为this的对象将会被抛弃。

3.使用字面量方式创建对象

//键值对方式 color:red------键值对间用","隔开.
    var obj1={
        name:'小白',
        age:12,
        study:function () {
            console.log('');
        }
    }
    obj1.study();
           

继续阅读