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]) // 要用[]才能输出变量
    }
  • 相关阅读:
    R语言:提取路径中的文件名字符串(basename函数)
    课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 0、学习目标
    numpy.squeeze()的用法
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 4、Logistic Regression with a Neural Network mindset
    Python numpy 中 keepdims 的含义
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 3、Python Basics with numpy (optional)
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 2、编程作业常见问题与答案(Programming Assignment FAQ)
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 0、学习目标
    课程一(Neural Networks and Deep Learning),第一周(Introduction to Deep Learning)—— 0、学习目标
    windows系统numpy的下载与安装教程
  • 原文地址:https://www.cnblogs.com/lezaizhu/p/14093736.html
Copyright © 2011-2022 走看看