欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript基础之复合类型

程序员文章站 2022-07-16 19:25:01
...

JavaScript中的复合类型大致上有三种

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

对象

除Object之外,JavaScript还提供了如下常用的内置类

  • Array:数组类
  • Date:日期类
  • Error:错误类
  • Function:函数类
  • Math:数学类
  • Number:数值类
  • Object:对象类
  • String:字符串类

数组

定义数组的三种方式

var a = [3 , 4 , 5];
var b = [];
var c = new Array();

JavaScript数组作为栈使用的两个方法如下

  • JS作为栈使用:
    push(ele): 元素入栈,返回入栈后数组长度
    pop(): 元素出栈,返回出栈的数组元素
  • JS作为队列使用:
    unshift(ele): 元素入队列,返回入队列后的数组长度
    shift(): 元素出队列,返回出队列的数组元素
<script>
        var stack =[5,7];
        stack.push("yi");
        stack.push("er");
        stack.push("san");
        console.log(stack.pop());
        console.log(stack.pop());
        var queue=[5,7];
        queue.unshift("1");
        queue.unshift("2");
        queue.unshift("3");
        console.log(queue.shift());
        console.log(queue.shift());   
    </script>

JavaScript基础之复合类型

  • concat(value ,…): 为数组添加元素,然后返回,原数组不变
  • join([separator]): 将数组的元素拼接到一起,然后返回
  • reverse: 反转数组包含的元素
  • slice(start,[end]): 截取start到end之间的数
  • splice(start,deleteCount,value,…):从start开始,截取deleteCount个元素,再把多个value值放到数组中
var a=["html",2,"y"];
//为数组添加一个或多个元素,原数组不变
console.log(a.concat(4,5));
console.log(a.concat([4,5]));
console.log(a.concat([4,5],[6,7]));

var b=["html",20,"is",99,"good"];
//把数组输出为一个字符串
console.log(b.join());
console.log(b.join("+"));

var c=["html","d","dfa","dsa"];
//反转数组内的元素
c.reverse();
console.log(c);

var d=["html","d","dfa","dsa","dsjad","dasi7"];
//截取数组
console.log(d.slice(3));
console.log(d.slice(2,4));
console.log(d.slice(1,-2));
console.log(d.slice(-3,-2));

var e=["html","d","dfa","dsa","dsjad","dasi7"];
//截取数组,再将多个value追加到数组中
console.log(e.splice(3));
console.log(e.splice(1,1));
console.log(e);

JavaScript基础之复合类型

函数

函数定义的语法格式如下:

function functionName(param1,param2,...)
{
}

下面代码定义了一个简单函数

<script>
        function year(age)
        {
            if(age>60)
            {
                alert("老人");
            }
            else if(age>40)
            {
                alert("中年人");
            }
            else if(age>15)
            {
                alert("青年人");
            }
            else
            {
                alert("儿童");
            }
        }
        age(46);
</script>

JavaScript基础之复合类型
如果输入的参数不是数值会怎样呢?为了让程序更加严谨,应先判断数据类型

if( typeof age === "number")
       {
           function year(age)
           {
               if(age>60)
               {
                   alert("老人");
               }
               else if(age>40)
               {
                   alert("中年人");
               }
               else if(age>15)
               {
                   alert("青年人");
               }
               else
               {
                   alert("儿童");
               }
           }
       }
       else
       {
           alert("参数必须为数值")
       }
相关标签: javascript