码迷,mamicode.com
首页 > 编程语言 > 详细

JS中的数组、字符串小结

时间:2020-03-19 21:23:51      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:程序   运行时   mamicode   过程   理解   数组   存储   编译   声明   

数组:引用/复合数据类型

数组里面可以存储任何的数据类型,例如数组、字符串、数字、布尔值,是一个变量,过程中可以被改变。

数组的存储是分为两个部分:程序运行段和堆

程序运行段(编译之后分配的空间大小不可改变):存储着数组的地址

堆(空间大小可以改变):存储着数组的元素,例如数组、字符串、数字、布尔值

程序运行时是通过程序运行段中存储的数组地址找到堆中对应的元素。

var arr3 = [10,20,30];

var arr1 = ["abc", 2,true,arr3];

var arr2 = arr1;    ---只是把arr1的地址值赋给arr2,arr1和arr2指向的是同一个地址

arr2[0] = 10;

alert(arr1);     ---10, 2,true,10,20,30

alert(arr2);      ---10, 2,true,10,20,30

如果要声明一个和arr1一样的数组,使用concat().

var arr2 = arr1.concat()   ---concat()不改变arr1,而是返回一个和arr1一样的数组给arr2,其地址也不一样。

可以试试运行下面代码理解:

var arr1 = [1, 2,3, 4, 5, 6];

var arr2 = arr1.concat();

arr2[0] = 10;

alert(arr1);    ---1,2,3,4,5,6

alert(arr2);    ---10,2,3,4,5,6

 技术图片

字符串:带单引号或双引号的

在程序运行段里,存储的是字符串的地址,而字符串的值存储在只读数据段里,通过存储在程序运行段的地址找到只读数据段中的值。

在只读数据段中存储的值是单个字符分割存储的,可通过str[i]下标访问获得单个字符  

技术图片

var str = "abcd";

var arr = str.split("");     --- 返回一个存储着字符串每一个单个字符的数组 a,b,c,d

alert(arr);   

 

JS中的数组、字符串小结

标签:程序   运行时   mamicode   过程   理解   数组   存储   编译   声明   

原文地址:https://www.cnblogs.com/day-day-up-007/p/12527168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!