js高级提升(一)数据类型

一、undefined/null/NaN

1、undefined
1)当使用var声明变量但未初始化就是undefined
var message;
alert(message);        //undefined
alert(typeof message); //undefined
2)尚未定义的变量不是undefined
alert(age);      //报错
2、null

表示一个空指针对象

alert(typeof null);    //'object'
3、NaN

特殊的number,表示一个本来要返回数值的cao’zuo操作未返回数值的情况(这样就不会抛错误)

1)任何数值除以非数值返回NaN
2)上一条中的例外
正数/0    //Infinity
负数/0    //Infinity

二、基本类型

UndefinedNull、Boolen、NumberString  五种

基本类型按值访问,可操作保存在变量中的实际的值

三、引用类型

ObjectArrayDateRegExp、Funtion  五种
1. 引用类型介绍
  • 引用类型中的值是保存在内存中的对象
  • js不允许直接访问内存中的位置,也就是说不能访问操作对象的内存空间,因此,操作对象时,实际是操作对象的引用而不是实际对象。
  • 例外:为对象添加属性时操作的是对象
  • 复制变量值:复制的值是一个指针,其中一个改变,都会变。
2. Array类型
1)栈方法:后进先出
push()添加到数组末尾,并返回长度
pop() 从末尾移除一项,并返回移除的项
2)队列方法:先进先出
shift()移除第一项,并返回该项
unshift()从前面添加任意项,并返回长度
3)重排序
var values = [0,1,5,10,15];
values.sort(compare);
alert(values);     //0,1,5,10,15

注:如果直接调用values.sort();返回0,1,10,15,5因为sort()方法按照两两string比较,所以需要自定义compare方法:

function compare(value1,value2){
    if(value1<value2){
        return -1;
    }else if(value1>value2){
        return 1;
    }else{
        return 0;
    }
}
4)操作方法
4.1 concat()

创建一个副本–>将参数添加到末尾–>++形成一个新数组++

var colors = ['red','green','blue'];
var colors2= colors.concat('yellow');
alert(colors);   //red,green,blue
alert(colors2);  //red,green,bule,yellow
4.2 slice()

slice(attr1);返回位置从attr1到末尾的++新数组++

slice(attr1,attr2);返回位置从attr1到attr2的++新数组++

var arrlist = [1,2,3,4,5,6];
slice(2);    //[3,4,5,6]
slice(2,4);  //[3,4]

- - 如果参数为负数,则用length加上参数
4.3 splice()

(1)删除

splice(0,2); 要删除的开始位置和要删除的项数

(2)插入

splice(2,0,"red","green");
  • 起始位置
  • 要删的项数
  • 要插入的项,可继续添加多项

(3)替换

splice(2,1,"red","green");
  • 起始位置
  • 要删的项数
  • 要插入的项,可继续添加多项
5)迭代方法
every();    若每一项都为true,则为true,否则为false
some();     若有一项为true,即为true
filter();   遍历数组,返回满足条件的数组
map();      遍历,返回调用函数的结果组成的数组
forEach();  遍历数组
6)归并方法
reduce();      从左向右算
reduceRight(); 从右向左算

var values = [1,2,3,4,5];
var sum = values.reduce(function(pre,cur,index,array){
    return pre+cur;
}
);
alert(sum);    //15
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值