《高级程序设计》整理(一)---数据类型和数组篇

《高级程序设计》整理(一)- - -数据类型和数组篇


###一、JavaScript六种数据类型

  1. Undefined == Boolean ==》等于true

  2. Null:表示一个空指针对象 typeof(null)==="object"

  3. Boolean:true / false

  4. Number NAN==NAN ==》false
    - - -| isNAN(true)=1
    - - -| Number(null) = 0 - - Number("") = 0 对于各种进制的字符串将其转换成相同大小的十进制-- -->更常用的是parsent("")=NAN - - parsent("070")=56 ES3识别成八进制 ES5识别成70---->parsent("070",8) 八进制

  5. String
    - - -| toString(2|8|10|16) null/undefined 没有toString方法
    - - -| 转型函数String() 如果有tostring()方法则调用他 如果是 null/undefined —>“null”/“undefined”

  6. Object(所有对象的基础)
    - - -| constructor 保存着用于创建当前对象的函数
    - - -| toString() ≈ valueOf()
    - - -| hasOwnProperty(propertyName)检测指定属性是否在当前对象实例中(不包括原型实例)
    - - -| toLocalString() 返回地区化的值 用的比较多的就是 本地时间格式
    - - -| propertyIsEnumerable() (检测指定属性能否用for-in枚举)

    检测数据类型 typeof (区分 字符串/数值/布尔值/undefined)
    当检测数据是引用类数据时 instanceof 它根据原型链识别(测试实例和原型链中出现过的构造函数 如果有返回true)

###二、数组方法

  1. 栈方法(Last-In-First-Out)
    - - -| 在JavaScript中数组的 push()pop() 行为类似堆栈出栈 push返回最终数组长度 pop返回数组中最后一项

  2. 队列方法(First-In-First-Out)
    - - -| 在JavaScript中数组的 push()shift() 行为类似堆栈出栈 push返回最终数组长度 shift()返回数组中第一项
    - - -| unshift()shift() 相反–>可以向数组前端推入项并返回新的长度 unshift()pop()组合可以实现反向队列

  3. 重排序方法
    - - -| 数组有sort()reverse() 两个方法 –

sort(fun)
接收一个比较函数Fun(num1,num2) 
   		num1<num2 ==> -1
   		num1=num2 ==>0
   		num1>num2 ==> 1
  1. 操作方法
    - - -| concat() 组成新数组
    - - -| slice(start ,end) 截取数组但不改变原数组 对应字符串方法 subString()
    - - -| splice(start, length, another) 数组中最常用的方法 可完成数组删除、插入、替换操作

  2. 位置方法
    - - -| IndexOf(needSearch, startpos) 返回查找项索引 ----- LastIndexOf 查找方向相反

  3. 迭代方法
    - - -| arr.every(function(item,index,array) 对每一项都返回true才返回true
    - - -| arr.some(function(item,index,array) 当某项符合时返回true
    - - -| hasOwnProperty(propertyName) 检测指定属性是否在当前对象实例中(不包括原型实例)
    - - -| arr.filter(function(item,index,array) 返回符合条件的集合
    - - -| arr.forEach(function(item,index,array) 对每一项进行操作 无返回 (无法终止循环除非抛出异常)
    - - -| arr.map(function(item,index,array) 返回给定条件的数组

  4. 归并方法(reduce/reduceRight)
    - - -| arr.reduce(function(prev, cur, index, array), initialValue)

		var values = [1,2,3,4,5]; 
		var sum = values.reduce(function(prev, cur, index, array){ 
		    return prev + cur; 
		}); 
		alert(sum); //15

第一次执行回调函数,prev 是1,cur 是2。第二次,prev 是3(1 加2 的结果),cur 是3(数组
的第三项)。这个过程会持续到把数组中的每一项都访问一遍,最后返回结果。
resuceRight()函数和reduce类似,不过是倒序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值