JavaScript复合数据类型

js有三种复合数据类型

        复合类型是由多个基本数据类型(也可以包括复合类型)组成的数据体。js的复合类型大致有以下三种:

  • Object:对象。
  • Array:数组。
  • Function:函数。

对象复合数据类型

        对象是一系列命名变量、函数的集合。其命名变量的类型既可以是基本数据类型,也可以是复合类型。对象中的命名变量称为属性,而对象中的函数称为方法。对象访问属性和函数的方法是通过“.”实现的。

看如下代码:

 <script>
        var obj = {
            name: 'hahaha',  //对象的name属性
            age: 34,   //对象的age属性
            bank: ['huhu', 'dsds', 'gfyfg'],   //对象的bank属性是个数组
            walk: function() {   //walk属性里面包含了一个函数

            }
        }
        for (var index in obj) {//用for in循环输出obj复合类型
            console.log(index + "->" + obj[index])
        }
    </script>

结果如图:

         js是基于对象的脚本语言,他提供了大量的内置对象供用户使用。除Object之外,js还提供了如下常用的内置类:

  • Array:数组类
  • Date:日期类。
  • Error:错误类。
  • Function:函数类。
  • Math:数学类,该对象包含相当多的执行数学运算的方法。
  • Number:数值类。
  • Object:对象类。
  • String:字符串类。

        通过new这些类就能得到一个对象。

数组复合数据类型:

        定义数组:

var arr=new Array("7","huhuh","中国",ture,5);

var brr=["7","huhuh","中国",ture,5];

js的数组可变。同一个数组元素类型可以不同。访问数组范围外元素不会产生越界,访问未赋值元素会返回undefined。 

js还提供了许多数组相关的方法:

  • push(ele):元素入栈,添加元素
  • pop():元素出栈 ,删除元素并输出
  • unshift(ele):元素入队列,添加元素
  • shift():元素出队,删除元素并输出

出入栈是先进后出,出入队列是先进先出。

  • concat(value,...):为数组添加一个或多个元素。该方法返追加元素后得到的数组,但原数组不改变。
  • join([separator]):将数组的多个元素拼接在一起,组成字符串后返回。
  • reverse():反转数组包含的元素。
  • slice(start,[end]):截取数组在start索引和end索引之间的子数组。如果省略end参数,则数组一直截取到数组结束:如果start、end参数为正数,则从左边开始计数:如果start、end为负数,则从右边开始计数。该方法返回截取到的子数组但原数组不发生改变。
  • splice([start,deleteCout,value,...]):截取数组从start索引开始、deleteCount个元素,再将多个value值追加到数组中。该方法返回被截取部分组成的新数组。
  • sort([sortfunction]):对数组进行排序。
//字符数组默认逐位排序
var arr = ["asdf", "gfgdf","add","csdf","bbdd"]
console.log("处理前", arr)

arr.sort()
console.log("排序后", arr)

//数字数组默认逐位排序
var arr = [111, 21, 444, 14, 56, 67]
console.log("处理前", arr)

arr.sort()
console.log("排序后", arr)


//数字数组按照大小排序
var arr = [111, 21, 444, 14, 56, 67]
console.log("处理前", arr)

arr.sort(function(a, b) {
    return b - a  //简单来说就是a-b是升序,b-a是降序
})
console.log("排序后", arr)

结果如图: 

 也就是说默认是逐位排序,加一个函数可以改变排序方式

arr.sort(function(a, b) {     return b - a //简单来说就是a-b是升序,b-a是降序 })

 函数复合数据类型

        函数可以包含一段可执行性代码,也可以接受调用者传入参数。js中不需要数据类型声明,函数的返回值也不需要数据类型声明。函数定义的语法格式有三种:

//匿名函数

var name=function(参数,参数,....){函数体}

//命名函数

function name(参数,参数,....){函数体}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sshm_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值