资讯专栏INFORMATION COLUMN

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

e10101 / 688人阅读

摘要:参数可选,表示初始值。若指定,则当作最初使用的值如果缺省,则使用数组的第一个元素作为初始值,同时往后排一位,相比有值少一次迭代。

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 当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值少一次迭代。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78183.html

相关文章

  • 程序员写简历时的技术词汇拼写规范备忘

    摘要:写在前面每年这个时候又到了求职的旺季。求职前,我们都会花很多的时间在自己的技术水平提升笔面试的准备之上,但往往却忽略了找工作第一步所需要的一个严谨且靠谱的简历。而程序员写简历,第一步就是需要注意严谨而规范地使用各种技术词汇。 ...

    h9911 评论0 收藏0
  • 前端基础入门

    摘要:手把手教你做个人火的时候,随便一个都能赚的盆满钵满,但是,个人没有服务端,没有美工,似乎就不能开发了,真的是这样的吗秘密花园经典的中文手册。涵盖前端知识体系知识结构图书推荐以及入门视频教程,全的简直不要不要的了。 JavaScript 实现点击按钮复制指定区域文本 html5 的 webAPI 接口可以很轻松的使用短短的几行代码就实现点击按钮复制区域文本的功能,不需要依赖 flash。...

    shinezejian 评论0 收藏0
  • API

    摘要:是一个极度纯净的上传插件,通过简单调整就可以融入到任何项目,支持多文件上传上传速率动态控制真实进度监控分块生成分块上传校验秒传暂停取消等。 跨域学习笔记 前言: 当一个资源,向与之所在服务器不同的域或端口请求另一个资源时,这个HTTP请求,我们认为是跨域的请求。出于安全考虑,浏览器会限制脚本发起的跨域HTTP请求。 那天后端让我把token放到http请求头字段里,说是为了和RN端统一...

    lsxiao 评论0 收藏0
  • 【Java EE】从零开始写项目【总结】

    摘要:目前该功能并未完善,敬请期待。反正每次都会有新的东西补充上去一开始我本来想做的是可以使用微信登陆,也可以使用账户邮箱登陆,也可以使用短信登陆的。后来发现微信登陆要企业认证,做不了。 从零开发项目概述 最近这一直在复习数据结构和算法,也就是前面发出去的排序算法八大基础排序总结,Java实现单向链表,栈和队列就是这么简单,十道简单算法题等等... 被虐得不要不要的,即使是非常简单有时候绕半...

    imtianx 评论0 收藏0
  • 深度学习

    摘要:深度学习在过去的几年里取得了许多惊人的成果,均与息息相关。机器学习进阶笔记之一安装与入门是基于进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域。零基础入门深度学习长短时记忆网络。 多图|入门必看:万字长文带你轻松了解LSTM全貌 作者 | Edwin Chen编译 | AI100第一次接触长短期记忆神经网络(LSTM)时,我惊呆了。原来,LSTM是神...

    Vultr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<