起风了

“路海长 青夜旷 越过群山追斜阳”

AJAX初探

AJAX初探缩略图
什么是AJAX? 依赖浏览器提供的XMLHttpRequest对象,XMLHttpRequest对象使浏览器可以『发出HTTP请求与接收HTTP响应』。实现在『页面不刷新的情况下和服务端进行数据交互』 AJAX步骤 创建 XMLHttpRequest 实例 发出 HTTP 请求 接收服务器传回的数据 更新网页数据 XMLHttpRequest知识图谱 XMLHt...

JavaScript定时器setTimeout 和 setInterval

JavaScript定时器setTimeout 和 setInterval缩略图
setTimeout和setInterval setTimeout 将函数的执行推迟到一段时间之后再执行 语法:setTimeout(func|code, delay) 注意:setTimeout的第一个参数为『函数名』,而不是函数的调用 setTimeout的第二参数『delay』,表示一段时间之后再执行,但是也有一些特殊情况 var start = Date.now()var i = 0function t...

同源&JSNOP&跨域

同源&JSNOP&跨域缩略图
同源策略 协议、域名、端口号参考JavaScript-Bom属性及其方法1 同协议:如都是http或者https 同域名:如都是http://baidu.com/a 和http://baidu.com/b 同端口:如都是80端口 ⚠️只有 协议、域名、端口号一模一样才能发送 AJAX 请求 对于突破同源限制,成功发送AJAX请求的叫做跨域如: JSONP ...

ES6-字符串模板与字符串新增的方法

ES6-字符串模板与字符串新增的方法缩略图
ES6模板字面量(template literal) 多行字符串 ES5情况下多行字符串 多行的字符串以 逗号 ' 开头,以逗号 ' 结尾,并且每一行的空格末尾接一个 反斜杠 『\』('转义符')。且需要换行 let longStr = 'a \long \long \story'console.log(longStr)// a long long story 以上的繁琐的操作最后只是一个书写上的多行...

浅谈JS作用域链(scope chain)

浅谈JS作用域链(scope chain)缩略图
作用域链: JS权威指南指出”JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里.” ECMA262中所述 任何执行上下文时刻的作用域, 都是由作用域链(scope chain)来实现.在一个函数被定义的时候, 会将它定义时刻的scope chain链接到这个函数对象的[[scope]]属性.在一个函数对象被调用的时...

ES6初探-let const与箭头函数

ES6初探-let const与箭头函数缩略图
let const let 1. let 声明的变量不会有变量提升,且在 『一个花括号{}』 内部声明的变量,会形成块级作用域 ? { console.log(a) // Uncaught ReferenceError: Cannot access 'a' before initialization let a = 111 console.log(a) // 打印出 111}console.log(a)// Uncaught ReferenceError: a is not d...

迭代器模式

摘自《JavaScript设计模式与开发实践》 迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。 目前,恐怕只有在一些“古董级”...

代理模式

摘自《JavaScript设计模式与开发实践》 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。 代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理之后,再把请求转交给本...

策略模式

摘自《JavaScript设计模式与开发实践》 在现实中,很多时候有多种途径到达同一个目的地。比如我们要去某个地方旅游,可以根据具体的实际情况来选择出行的线路。 如果没有时间但是不在乎钱,可以选择坐飞机。 如果没有钱,可以选择坐大巴或者火车。 如果再穷一点,可以选择骑自行车。 在程序设计中,我们也常...

命令模式

摘自《JavaScript设计模式与开发实践》 命令模式是最简单和优雅的模式之一,命令模式中的命令(command)指的是一个执行某些特定事情的指令。命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,...