美文网首页工作生活
基本类型值和引用类型值以及数组Array数组

基本类型值和引用类型值以及数组Array数组

作者: 别闹23 | 来源:发表于2019-07-03 00:06 被阅读0次

JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值
基本类型值源于以下5种基本类型:
Undefined、Null、Boolean、Number和String。
引用类型包括:

*Object类型 *Array类型 *Date类型 *RegExp类型 *Function类型

*基本包装类型:Boolean类型、Number类型和String类型

*单体内置对象:Global对象、Math对象。
*基本类型值和引用类型值有以下特点:

  • 基本类型值在内存中占用固定大小的空间,因此被保存在栈内存中;从一个变量向另一个变量

*复制基本类型的值,会创建这个值的副本。

  • 引用类型的值是对象,保存在堆内存中。包含引用类型值的变量实际上包含的并不是对象本身,

*而是一个指向该对象的指针。从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象。

*确定一个值是哪种基本类型可以用typeof操作符,而确定一个值是哪种引用类型可以用instanceof操作符。

例子:

typeof:
       var a = 'awe'
       console.log(typeof(a));     //string

instanceof:
    var a = 'awe'
   console.log( a instanceof Object);   //flase
   console.log( a instanceof Array);    //flase 

Array数组

数组也是对象的一种,ES数组的每一项可以保存任何类型的数据。

数组的创建方式(俩种):
使用new关键字+Array构造函数创建数组(new操作符可以省略)。
例子:

var colors = new Array(12345);  //(5) [1,2,3,4,5]默认数值类型
 var colors =  Array(12345);  //(5) [1,2,3,4,5] 省略new也可以实现一样的效果

如果预先知道数组的项目数量,也可以给构造函数传递该数量,而该数量会自动成为length属性的值。

例子:
var colors = new Array(20);  //(20)[empty*20]
console.log(colors.length);//20 表示它的长度是20

也可以向Array构造函数传递数组中应该包含的项。

例:
    var colors = new Array("red","blue","green");
    console.log(colors.length);//3    表示它的长度是3


对比分析
var colors = new Array(20);  
console.log(colors.length);// 20 表示它的长度是20
var colors = new Array("20");
console.log(colors.length);//1 表示它的长度是1

2、 数组字面量表示法创建数组
数组字面量由一对包含数组项的方括号表示("[]"),多个数组项之间以逗号隔开。

例:
    var colors = ["red","blue","green"]; //定义了一个长度为3的字符串数组
    console.log(colors.length);     //3 表示colors的长度是3
    var colors = [];         //创建一个空数组
    console.log(colors.length);     //0表示colors的长度是0

在读取和设置数组的值时,要使用方括号并提供相应的基于0的数字索引(位置)。

 例:
    var colors = ["red","blue","green"]; //定义了一个长度为3的字符串数组 
    console.log(colors[0]);    //表示显示的是 "red"
    colors[2] = "black";    
            console.log(colors);//(4)['red','blue','black','green']  表示在下标为2的地方添加了'black'

2、数组的length属性
数组的length属性的特点:不是只读的。也就是说通过设置这个属性,可以从数组的末尾移除或向数组中添加新项。

例:
    var colors = ["red","blue","green"]; //定义了一个长度为3的字符串数组
    colors.length = 2;        //设置数组长度为2
            console.log(colors);//(2) ['red','blue']表示移除了第三个字符
    console.log(colors[2]);   //undefined 因为第二个被移除了所以没有找到显示underfined

    var colors = ["red","blue","green"]; //定义了一个长度为3的字符串数组
    colors.length = 4;        //设置数组长度为4
            console.log(colors);//(4)["red","blue","green",'empty']表示添加了一个空数组
    console.log(colors[3]);   //undefined 

利用length属性也可以方便地在数组末尾添加新项。

数组最后一项的索引始终是 length-1 ,所以下一个新项对应的位置就是 length。

 例:
    var colors = ["red","blue","green"]; //定义了一个长度为3的字符串数组
    colors[colors.length] = "black";    
            console.log(colors);//表示在下标3的位置添加了数组['black']

例:
    var colors = ["red","blue","green"]; //定义了一个长度为3的字符串数组
    colors[99] = "black";
            console.log(colors);(100) ["red", "blue", "green", empty × 96, "black"]表示在(在位置99)添加一种颜色
    console.log(colors.length); //100

持续更新,未完待续。。。。。。。

相关文章

  • 基本类型值和引用类型值以及数组Array数组

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值基本类型值源于以下5种基本类型:Undef...

  • swift变量

    值类型:字符串,数组,字典,数字 引用类型:Class 字符串 数组初始化 Array遍历

  • golang学习笔记(七)复合类型

    复合类型 类型名称作为函数参数pointer指针值传递array数组值传递slice切片引用传递map字典引用传递...

  • Note 3 Swift (1)

    Swift学习笔记 变量与常量 变量 常量 值类型与引用类型 值类型 引用类型 数组与字典 数组 字典

  • <>

    数组和切片 切片和数组的区别 数组是属于值类型。结构体,基础类型数据也属于值类型。 注意GO语言对于“传值和传引用...

  • 单信js——基础部分

    数据类型字符串数字布尔值undefinednull数组函数对象变量根据值类型分类,包含两种:基本类型值和引用类型值...

  • [JavaScript] F.prototype=1

    js是区分引用类型和值类型的值类型:数值,布尔值,null,undefined引用类型:对象,数组,函数 (1)如...

  • golang slice && array

    array 和slice都是数组,前者固定大小,值类型;后者可以动态变更,引用类型。再次强调一遍,array在go...

  • 值类型和引用类型

    值类型: 基本数据类型,int,float,bool,string,以及数组和struct 特点:变量直接存储值,...

  • go语言中的值类型和引用类型

    值类型: 基本数据类型,int,float,bool,string,以及数组和struct特点:变量直接存储值,内...

网友评论

    本文标题:基本类型值和引用类型值以及数组Array数组

    本文链接:https://www.haomeiwen.com/subject/qncxhctx.html