标签归档:javascript

forEach() 没有返回值,当数组中元素是值类型,forEach绝对不会改变数组;当是引用类型,则可以改变数组 map() 有返回值,创建新数组不代表不能用它改变原有数组,你用原有数组去承载就可以,另外记得return filter() 有返回值,创建新数组不代表不能用它改变原有数组,你用原有数…

继续阅读

==:等同,比较运算符,两边值类型不同的时候,先进行类型转换再比较; ===:恒等,严格比较运算符,不做类型转换,类型不同就是不等; Object.is()是ES6新增的用来比较两个值是否严格相等的方法,与===的行为基本一致。 先说===,这个比较简单,只需要利用下面的规则来判断两个值是否恒等就行…

继续阅读

俗话说面试造航母,入职拧螺丝,要想找到好工作,当然要好好的啃一啃原生JS。面试经常会问到: 怎么利用call、apply来求一个数组中最大或者最小值 如何利用call、apply来做继承 apply、call、bind的区别和主要应用场景 作用 首先,这三个函数都是改变函数执行时的上下文,也就是th…

继续阅读

前端是一个近几年非常流行的新技术岗位,前端工程师的出现实现了设计、展现、业务的彻底分离,今天要讲的JS设计模式,正是一个高级前端工程师必须要了解的前端开发方式。 发布订阅模式(观察者模式): 这种设计模式可以大大降低程序模块之间的耦合度,便于更加灵活的扩展和维护,也就是说,这种模式就是用一大串的列表…

继续阅读

排序算法说明 Github:https://github.com/saqqdy/js-sorts (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,…,an 输出:n个数的排列:a1′,a2′,a3′,&#8230…

继续阅读

一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。 (1) 创建函数有两种形式,一种是函数声明,另外一种是函数字面量,只有函数声明才有变量提升 相当于 (2)变量提升 …

继续阅读

《一文看懂JAVASCRIPT事件循环EVENT LOOP机制》已经很详细的介绍了事件循环机制,那么这里我们举个简单的例子来说明event loop到底是什么样的表现 这个例子输出的结果是4 4 4,为什么呢?setTimeout作为task是在for循环之后执行的,for循环之后的i为4

1.丢弃小数部分,保留整数部分parseInt(5/2) 2. 向上取整,有小数就整数部分加1 Math.ceil(5/2) 3. 四舍五入Math.round(5/2) 4. 向下取整Math.floor(5/2) Math 对象的方法方法 描述abs(x) 返回数的绝对值acos(x) 返回数的…

继续阅读

8/8