js各种小知识点备忘录(持续更新)

apply | call

function foo(data1,data2){
    console.log(data1)
    console.log(data2)
}
foo.call(this, '1', '2')
等效于 foo.apply(this, [1,2])

apply跟的是数组,call就是按照参数的顺序

split | join

var str = '1-2-3-'
var p = str.split(-)   //["1","2","3",""] split分裂
var ar = [5,4,3,2,1]
var p2 = ar.join('x')   //5x4x3x2x1   数组合并成字符串中间加 "x"

splice | slice

//slice(片) 不会改变原来数组, splice(剪接)
slice(startIndex, endIndex)
slice(stratIndex)//缺少endIndex 就会执行到末尾 
slice(-1)最后一个元素
splice(startIndex,length) //截取原来的数组

数组下标 startIndex =< index <endIndex
当startIndex为负数的时候就会从最后的元素开始计算

substr | substring

substr(start [, length ])
substring(start, end)
var str = '005'
str.substr(-2)  //05返回最后两个字符

没有第二个参数就默认到最后
第一个参数为负数的时候从末尾算起

Math - floor| round | ceil

ceil 向上取整数
round 标准的四舍五入
floor 向下取整数

var x = 12.3
var y = 12.6
Math.floor(x) === Math.floor(y) === Math.round(x)   // 12
Math.ceil(x)  === Math.ceil(y) === Math.round(y)    // 13

Array some | every| indexOf

var ar = [1,2,3,4,5]
ar.some(val => val == 1)   // true  满足一个
ar.every(val => val == 1)   //false  全都满足

Array Map

返回一个新的数组

let ar = [1,2,3]
ar.map(function(it, index, items){})

js数组删除指定元素

var ar = [1,2,3,4,5,6]
function deleteAr(ar){
    for(var i = 0; i< ar.length; i++){
        if(条件){
            return ar.splice(i,1)
        }
    }
}

js Date 时间函数

var time = new Date(2016,0,1,12,11,22,111)
//年、月(-1)、日、时、分、秒、毫秒
//小技巧 var maxDay = new Date(2016,1,0) 可以获取2016年1月的最后一天

var year = time.getFullYear() //年
var month = time.getMonth() + 1 //月
var day = time.getDate() //日
var week = time.getDay() // 0~6  周日是 0

布尔值

undefined null 0 -0 NaN ""
//以上都会自动转换成false

对象数组拷贝

JSON.parse(JSON.stringify(originArray))
//数组深拷贝

正则表达式

( [ { \ ^ $ | ) ? * + . ] }

Array.reduce

array.reduce(callback[, initialValue])

var sum = [1, 2, 3, 4].reduce(function (previous, current, index, array) {
  return previous + current;
});

console.log(sum); // 10

callback函数接受4个参数:之前值、当前值、索引值以及数组本身。initialValue参数可选,表示初始值。若指定,则当作最初使用的previous值;如果缺省,则使用数组的第一个元素作为previous初始值,同时current往后排一位,相比有initialValue值少一次迭代。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值