JS对象

一.对象

 是一组属性和方法的集合

 一部手机:属性有颜色、尺寸、品牌、CPU、内存... 方法有打电话、玩游戏、看视频、听音乐、办公....

 一辆汽车:属性有颜色、品牌...  方法有代步、拉货....

   万物皆对象

 1.JS对象分类

   自定义对象:自己创建的对象

   内置对象:JS提供的对象,可以直接使用

   宿主对象:根据不同的环境划分

 2.创建自定义对象(字面量)

   使用{ }创建空对象

   { 属性名: 属性值, 属性名: 属性值, ... }

   属性名如果含有特殊字符,必须添加引号

 3.访问属性

   对象.属性名

   对象['属性名']

  如果属性不存在结果是undefined

   undefined出现位置:变量声明未赋值,函数没有返回值,函数中没有传参

 4.创建自定义对象 (内置构造函数)

 

 

二.模板字符串

    ` 反引号之间的内容就是模板字符串${JS表达式} `

    解决了字符串的拼接

三.对象中的方法

  就是一个函数

var p={

  name: '新哥',

  tan: function(){

     this 指向调用当前方法的对象

  }

}

p.tan()  //调用方法

 三.数据的存储

   1.原始类型

     直接将数据存储到栈内存

   2.引用类型

     包含函数、对象、数组

     会将值存储到堆内存中,会自动生成一个地址

      var xin={  }

      把对象的生成的地址保存到栈内存

  

   引用类型数据如果不被任何的地址所指向就会自动销毁

   null 是一个空地址,没有指向任何堆内存数据

   如果要销毁引用类型的数据,只需要赋值为null即可

 

四、数组

  数组是一组数据的集合,每个数据是一个元素

   1.创建 —— 数组字面量

     [元素1, 元素2, ... ]

   2.访问数组元素

    下标(索引):是JS自动为每个元素添加的编号,从0开始的一个整数 >=0

     数组[下标]

      如果元素不存在,返回的结果是undefined

   3.数组的长度

    数组.length    获取元素的个数

      (1)在数组的末尾添加元素

         数组[数组.length] = 值

      (2)清空数组

         数组.length = 0

   4.创建数组 —— 内置构造函数

     new Array(元素1, 元素2, ...)

     new Array(3)    初始化长度值,可以添加更多个元素

     5.数组的分类

       关联数组:以字符串作为下标 (了解)

       索引数组:以>=0的整数作为下标

   6.数组和对象的区别

     两种都可以存储一组数据,对象是通过属性存储每个值,数组是通过元素存储每个值

     对象存储数据是无序的,可以不分先后顺序;数组存储的数据有序的,可以进行排列。

   7.遍历数组元素

    依次访问每个元素

for(var k in 数组){

  k  下标

  数组[k]  元素

}

for(var i=0;i<数组.length;i++){

  i  下标

  数组[i]   元素

}

           new Object()   创建一个空对象{},需要单独添加属性。

   5.遍历属性

     依次访问对象中的每个属性

for(var k  in  对象){

  k 属性名

  对象[k]  属性值

}

  6.检测属性是否存在

     对象.属性名===undefined      true -> 不存在    false -> 存在

     对象.hasOwnProperty('属性名')   true -> 存在   false -> 不存在

     '  属性名'  in  对象     true -> 存在   false -> 不存在

posted @ 2022-09-11 08:50  逆风*  阅读(26)  评论(0编辑  收藏  举报