ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS对象

2022-09-11 09:01:11  阅读:146  来源: 互联网

标签:存储 下标 对象 元素 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 -> 不存在

标签:存储,下标,对象,元素,JS,数组,属性
来源: https://www.cnblogs.com/phoenix-7/p/16683491.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有