文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何理解javascript面向对象技术基础

2024-04-02 19:55

关注

这篇文章给大家介绍如何理解javascript面向对象技术基础,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

数组

我们已经提到过,对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,数组中的数据可以是任何的数据类型.数组本身仍旧是对象,但是由于数组的很多特性,通常情况下把数组和对象区别开来分别对(Throughout this book, objects and arrays are often treated as distinct datatypes.This is a useful and reasonable simplification; you can treat objects and arrays as separate types for most of your JavaScript programming.To fully understand the behavior of objects and arrays, however, you have to know the truth: an array is nothing more than an object with a thin layer of extra
functionality. You can see this with the typeof operator: applied to an array value, it returns the string "object". --section7.5).

创建数组可以用"[]"操作符,或者是用Array()构造函数来new一个.

Js代码

var array1 = []; //创建空数组  var array2 = new Array(); //创建空数组  array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //  alert(array1[2][1]); //4 访问数组中的数组元素  alert(array1[3].name1); //NAME1 访问数组中的对象  alert(array1[8]); //undefined  array2 = [,,]; //没有数值填入只有逗号,则对应索引处的元素为undefined  alert(array2.length); //3  alert(array2[1]); //undefined

用new Array()来创建数组时,可以指定一个默认的大小,其中的值此时为undefined,以后可以再给他们赋值.但是由于javascript中的数组的长度是可以任意改变的,同时数组中的内容也是可以任意改变的.

因此这个初始化的长度实际上对数组没有任何的约束力.对于一个数组,如果对超过它***长度的索引赋值,则会改变数组的长度,同时会对没有赋值的索引处赋值undefined,看下面的例子.

Js代码

 var array = new Array(10);  alert(array.length); //10  alert(array[4]); //undefined  array[100] = "100th"; //这个操作会改变数组的长度,同时将10-99索引对应的值设为undefined  alert(array.length); //101  alert(array[87]); //undefined

可以用delete操作符删除数组的元素,注意这个删除仅仅是将数组在该位置的元素设为undefined,数组的长度并没有改变.我们已经使用过了数组的length属性,length属性是一个可以读/写的属性,也就是说我们可以通过改变数组的length属性来任意的改变数组的长度.如果将length设为小于数组长度的值,则原数组中索引大于length-1的值都会被删除.如果length的值大于原始数组的长度,则在它们之间的值设为undefined.

Js代码

var array = new Array("n1","n2","n3","n4","n5"); //五个元素的数组  var astring = "";  for(var i=0; i<array.length; i++) { //循环数组元素  astring += array[i];  }  alert(astring); //n1n2n3n4n5  delete array[3]; //删除数组元素的值  alert(array.length + "_" + array[3]) //5_undefined  array.length = 3; //缩减数组的长度  alert(array[3]); //undefined  array.length = 8; //扩充数组的长度  alert(array[4]); //undefined

对于数组的其他方法诸如join/reverse等等,在这就不再一一举例.

通过上面的解释,我们已经知道,对象的属性值是通过属性的名字(字符串类型)来获取,而数组的元素是通过索引(整数型 0~~2**32-1)来得到值.数组本身也是一个对象,所以对象属性的操作也完全适合于数组.

关于如何理解javascript面向对象技术基础就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯