zoukankan      html  css  js  c++  java
  • module2-03-对象的基本使用

    对象的基本使用

    一、对象的概念

    • 数组中存入的数据受系啊表限制又必须有固定顺序,而对象可以自定义名称无序的数据

    1.1 什么是对象?

    • 生活中万物皆对象,对象就是一个具体的事物,一个具体的事物就会有行为和特征

      • 一部车,一个手机

        • 车市一类,门口停的那辆车才是对象

      • 特征:红色,四个轮子

      • 行为:驾驶、刹车

    1.2 js中的对象

    • 生活中对对象的一个抽象

      • js的对象市无序属性的集合

    • 其属性包含基本值、对象或函数。可以把js中的对象想象成键值对,其中值可以实数据和函数

    • 对象的行为和特征

      • 特征---在对象中用属性表示

      • 行为---在对象中用方法表示

    二、对象的创建和使用方法

    2.1 对象的创建

    (1)对象字面量创建

    • 用一个简单的方式使用对象字面量赋值给变量,类似数组([])

    • 内部可以存放多条数据,用逗号分隔最后一个不要加逗号

    • 每条数据都有属性名和属性值:k: v

      • k:属性名

      • v:属性值,可以是任意类型的数据

    var person1 = {
       name: 'zs',
       age: 18,
       sex: 'male',
       sayHi: function () {
           console.log('你好')
      }
    }

    区分属性和方法

    • 属性:对象的描述性特征,一般是名词,相当于定义在对象内部的变量

    • 方法:对象的行为和技能,一般是动词,定义在对象中的函数

    (2)其它的创建对象方法

    ① new Object()创建

    • 使用Object()构造函数创建,其是一种特殊的函数,主要用来在创建对象时初始化对象,即未对象成员赋初始值,要与new运算符一起使用

      1. 构造函数用域创建一类对象,首字母要大写

      1. 构造函数要和new一起使用才有意义

    new在执行的时候做的事情

      1. new会在内存中创建一个新的空对象

      1. new会让this指向这个新的对象

      1. 执行构造函数 目的:给这个新对象加属性和方法

      1. new会返回这个新对象

    ② 工厂函数创建对象

    • 将new Object()过程封装到一个函数中,将来调用函数就能创建一个对象,用于简化代码

    function createPerson (name, age, sex) {
       // 创建一个空对象
       var person = new Object()
       // 添加属性和方法,属性可以接受参数的值
       person.name = name
       person.age = age
       person.sex = sex
       per.sayHi = function () {
           console.log('hello')
      }
       // 将对象作为函数返回值
    }
    var p1 = createPerson('zs', 18, ‘male’)

    ③ 自定义构造函数

    • 比工厂函数简单

    • 自定义一个创建具体对象的构造函数,函数的内部不需要new一个构造函数的过程,直接使用this代替对象进行属性和方法的书写也不需要return一个返回值

    • 使用时,利用new关键字调用自定义的构造函数即可

    • 注意:构造函数的函数命首字母需要大写,区别于其它普通函数名

    function Person (name, age, sex) {
       // 不需要创建{}
       this.name = name
       this.age = age
       this.sex = sex
       this.sayHi = function () {
           console.log('hello')
      }
       // 不需要return
    }

     

    2.2 对象数据的调用和更改

    (1)调用对象内部属性和方法的语法

    • 对象的变量名,打点或者[]一个属性名,得到属性值

    • 对象内部使用this打点/[]调用属性名,this代替对象

    • 调用方法,打点/[]方法名然后()调用

    var person1 = {
       name: 'zs',
       sayHi: funtion () {
      console.log(this.name + ': 你好')
    }
    }
    person1.sayHi() // zs: 你好

    (2)更改对象内部属性和方法语法

    • 更改属性:先调用属性,再等号赋值

      • o.age = 19

    • 增加新的属性和属性值:点语法或[]新属性名,再等号赋值

      • o.newKey = 'newValue'

    • 删除一条属性:delete关键字

      • delete o.sex

    三、对象遍历

    • for in循环也是循环的一种,专门用来遍历对象,内部定义一个k变量,k在每次循环的时候会从第一个开始k接受属性名,执行完推出循环

    for (var k in obj) {
       console.log(obj[k]) // 要用[]才能输出变量
    }
  • 相关阅读:
    IsDefined的问题
    设计匠艺模型
    真实案例引起的对系统健壮性的思考
    软件系统的稳定性
    LA工作第二周体会
    LA工作第一周体会
    https://blog.csdn.net/qq_26264237/article/details/90575165
    Maven项目配置logback
    Java 工具 Hutool4.0.0 正式发布:从懵懂到成熟
    IDEAidea中解决Java程序包不存在问题
  • 原文地址:https://www.cnblogs.com/lezaizhu/p/14093736.html
Copyright © 2011-2022 走看看