摘要:
MVC 那时计算机世界天地混沌,浑然一体,然后出现了一个创世者,将现实世界抽象出模型形成model,将人机交互从应用逻辑中分离形成view,然后就有了空气、水、鸡啊、蛋什么的。——《前端MVC变形记》 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式 阅读全文
posted @ 2020-12-12 14:31
浅笑·
阅读(251)
评论(0)
推荐(0)
摘要:
一.setImmediate 目前只有IE10+和Nodejs支持该API。 立即触发回调函数,使其进入宏任务队列(macro task queue) 语法: // 只有一个参数 setImmediate(callback) 比setTimout(fn, 0)的执行顺序要快,性能也更高。因为setT 阅读全文
posted @ 2020-12-12 14:29
浅笑·
阅读(197)
评论(0)
推荐(0)
摘要:
绑定确实是个有趣的话题。 现在我的绑定器有了不少的功能 1. 附着在Object对象上,一切以对象为中心 2. 与页面元素进行双向绑定 3. 与任意对象绑定,主要是应用在绑定到页面元素的一些属性上,比如style,当然也可以绑定到任意用户自定义的对象上 4. 可以绑定到方法,让对象具有AddEven 阅读全文
posted @ 2020-12-12 14:27
浅笑·
阅读(96)
评论(0)
推荐(0)
摘要:
对象遍历 为了便于对象遍历的测试,我在下面定义了一个测试对象 obj。 测试对象 // 为 Object 设置三个自定义属性(可枚举) Object.prototype.userProp = 'userProp'; Object.prototype.getUserProp = function() 阅读全文
posted @ 2020-12-12 14:26
浅笑·
阅读(469)
评论(0)
推荐(0)
摘要:
需求 这是从一个项目中提取的需求。 大致的思路是: 通过获取后端的一系列人员的点位信息,在前端模拟人员的一段时间内的行动过程。 我们的开发人员首先想到的思路是,把获取的点位列表信息,每两个取取来,组成一条直线路径。然后基于每一条直线路径,创建一个动画Animate对象。(Animate是我们内部的一 阅读全文
posted @ 2020-12-12 14:23
浅笑·
阅读(229)
评论(0)
推荐(0)
摘要:
前言 Event Loop是计算机系统的一种运行机制,是个很重要的概念。而JavaScript用这种机制来解决单线程运行带来的问题。理解很熟悉将会有利于我们更容易理解vue的异步事件。 JavaScript是单线程的 1、什么是单线程? 单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必 阅读全文
posted @ 2020-12-12 14:21
浅笑·
阅读(487)
评论(0)
推荐(0)
摘要:
Promise.resolve等价于下面的写法 有时需要将现有对象转为 Promise 对象,Promise.resolve方法就起到这个作用。 Promise.resolve('foo') // 等价于 new Promise(resolve => resolve('foo')) Promise. 阅读全文
posted @ 2020-12-12 14:18
浅笑·
阅读(68695)
评论(0)
推荐(5)
摘要:
Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w 阅读全文
posted @ 2020-12-12 14:17
浅笑·
阅读(302)
评论(0)
推荐(0)
摘要:
方法一: 遍历当前数组,并创建一个暂存容器,每次遍历时,出现一个随机索引,使用随机索引,获取数组中一个随机的值,取出到暂存容器,然后根据当前循环次数的索引,获取数组中的值,放入原来取出的地方,最后把暂存容器的值,赋值给当前循环次数的索引的值,实现随机排序;(即三个容器间的交互) var arr = 阅读全文
posted @ 2020-12-12 14:08
浅笑·
阅读(3719)
评论(0)
推荐(0)
摘要:
允许包装在mixin中定义的css块。 分离的规则集是一组css属性、嵌套规则集、媒体声明或者是存储在变量中的任何其他内容,我们可以将它包含在规则集中或其他结构中,并且所有属性都将复制到那里;我们还可以将它用作mixin参数,并将它作为其他任何变量传递。 // 声明分离的规则 @rule_set: 阅读全文
posted @ 2020-12-12 14:06
浅笑·
阅读(84)
评论(0)
推荐(0)
摘要:
迭代器是ES2015中新增的规范,与之相关的for...of也是ES2015新增的。 本文来深入研究一下迭代器是什么,以及迭代器能够干什么? 或许你对for ... of的执行还不了解,比如什么情况下可以使用for ... of去遍历对象,什么情况下会报错等等,这篇文章应该能帮到你。 迭代器协议 f 阅读全文
posted @ 2020-12-12 14:03
浅笑·
阅读(201)
评论(0)
推荐(0)
摘要:
测试的类型 测试是用来检查你代码的代码。测试会使你对自己的程序更有信心。它们还能够防止你在修复一个 bug 时生成另一个 bug。你可以测试程序的方方面面,从单个函数及其返回值到在浏览器中运行的复杂程序。由于这是本课程的第一篇文章,因此我会简要对比一些流行的测试类型。 单元测试 单元测试覆盖了代码块 阅读全文
posted @ 2020-12-12 14:02
浅笑·
阅读(586)
评论(0)
推荐(0)
摘要:
首先我们要进行js进度条的布局 js进度条布局如下: </script> <style type="text/css" id='css'> #progress { position: fixed; background: #000; top: 0; left: 0; width: 100%; hei 阅读全文
posted @ 2020-12-12 14:01
浅笑·
阅读(1832)
评论(0)
推荐(0)
摘要:
1、前言 在平时工作开发中,大部分开发人员都花费大量的时间在维护其他人员的代码。很难从头开始开发新代码,很多情况下都是以他人成果为基础的,或者新增修改需求,自己写的代码也会被其他开发人员调用,所以写好一份高质量可维护的代码就显得十分重要。 2、什么是可维护代码 可维护代码需要遵循以下几个特点。 1. 阅读全文
posted @ 2020-12-12 13:59
浅笑·
阅读(190)
评论(0)
推荐(0)
摘要:
什么是尾调用? 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。 function f(x){ return g(x); } 上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下三种情况,都不属于尾调用。 // 阅读全文
posted @ 2020-12-12 13:58
浅笑·
阅读(212)
评论(0)
推荐(0)
摘要:
js判断对象是否为空对象 判断一个对象是否为空对象,本文给出三种判断方法: 1、最常见的思路,for...in...遍历属性,为真则为“非空数组”;否则为“空数组” function judgeObj(Obj){ for(var attr in Obj){ return alert('非空对象') 阅读全文
posted @ 2020-12-12 13:55
浅笑·
阅读(2743)
评论(0)
推荐(0)
摘要:
1、断开原因 WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来。 ws.onclose = function (e) { console.log('websocket 断开: ' + e.code + ' ' + e.reason + ' ' + e.wasClea 阅读全文
posted @ 2020-12-12 13:53
浅笑·
阅读(5148)
评论(0)
推荐(0)
摘要:
引言 闭包就是指 能够访问另一个函数作用域的变量的函数 ,闭包就是一个函数,能够访问其他函数的作用域中的变量,js有一个全局对象,在浏览器下是window,node下是global,所有的函数都在这个对象下,也能访问这个对象下的变量,这也就是说, js中的所有函数都是闭包 闭包的定义 函数与对其状态 阅读全文
posted @ 2020-12-12 13:51
浅笑·
阅读(722)
评论(0)
推荐(0)
摘要:
什么是事件 我想你很可能听说过事件驱动, 但是事件驱动到底是什么?为什么说浏览器是事件驱动的呢?为什么 Nodejs 也是事件驱动的 ? 两者是一回事么? 实际上不管是浏览器还是 Nodejs 都是事件驱动的,都有自己的事件模型。在这里,我们只讲解浏览器端的事件模型,如果对 Nodejs 事件模型感 阅读全文
posted @ 2020-12-12 13:50
浅笑·
阅读(162)
评论(0)
推荐(0)
摘要:
sort() 方法是最强大的数组方法之一。 数组排序 sort() 方法以字母顺序对数组进行排序: 实例 var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序 反转数组 rev 阅读全文
posted @ 2020-12-12 13:48
浅笑·
阅读(418)
评论(0)
推荐(0)