摘要: 下面的代码打印什么内容,为什么? 针对这题,在知乎上看到别人的回答说: 实际上,有点类似于以下代码,但不完全相同,因为使用const不管在什么模式下,都会TypeError类型的错误 几个例子: 所以严格模式下能看到错误:Uncaught TypeError: Assignment to const 阅读全文
posted @ 2019-07-18 18:06 来亦何哀 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 附上尤大的回答链接链接:https://www.zhihu.com/question/31809713/answer/53544875 阅读全文
posted @ 2019-07-18 17:53 来亦何哀 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 方法一 原理: 利用 setTimeout 函数的第三个参数,会作为回调函数的第一个参数传入 利用 bind 函数部分执行的特性 代码 1: for (var i = 0; i < 10; i++) { setTimeout(i => { console.log(i); }, 1000, i) } 阅读全文
posted @ 2019-07-18 17:33 来亦何哀 阅读(3417) 评论(0) 推荐(0) 编辑
摘要: 今天才发现setTimeout还有第三个参数。 阅读全文
posted @ 2019-07-18 17:18 来亦何哀 阅读(287) 评论(0) 推荐(0) 编辑
摘要: startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false const str1 = 'Saturday night plans'; console.log(str1.startsWith('Sat')); // expected 阅读全文
posted @ 2019-07-18 16:42 来亦何哀 阅读(433) 评论(0) 推荐(0) 编辑
摘要: VM 主要做了两件微小的事情: 从 M 到 V 的映射(Data Binding),这样可以大量节省你人肉来 update View 的代码(将数据绑定到view) 从 V 到 M 的事件监听(DOM Listeners),这样你的 Model 会随着 View 触发事件而改变 (view改变的时候 阅读全文
posted @ 2019-07-18 16:20 来亦何哀 阅读(1393) 评论(0) 推荐(0) 编辑
摘要: cookie: 登陆后后端生成一个sessionid放在cookie中返回给客户端,并且服务端一直记录着这个sessionid,客户端以后每次请求都会带上这个sessionid, 服务端通过这个sessionid来验证身份之类的操作。所以别人拿到了cookie拿到了sessionid后,就可以完全替 阅读全文
posted @ 2019-07-18 16:03 来亦何哀 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 在ES5中,顶层对象的属性和全局变量是等价的,var 命令和 function 命令声明的全局变量,自然也是顶层对象。 但ES6规定,var 命令和 function 命令声明的全局变量,依旧是顶层对象的属性,但 let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。 在哪 阅读全文
posted @ 2019-07-18 15:39 来亦何哀 阅读(2446) 评论(0) 推荐(1) 编辑
摘要: 模块化主要是用来抽离公共代码,隔离作用域,避免变量冲突等。 IIFE: 使用自执行函数来编写模块化,特点:在一个单独的函数作用域中执行代码,避免变量冲突。 (function(){ return { data:[] } })() AMD: 使用requireJS 来编写模块化,特点:依赖必须提前声明 阅读全文
posted @ 2019-07-18 15:31 来亦何哀 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 观察者模式中主体和观察者是互相感知的,发布-订阅模式是借助第三方来实现调度的,发布者和订阅者之间互不感知 联系 发布-订阅模式是观察者模式的一种变体。发布-订阅只是把一部分功能抽象成一个独立的ChangeManager。 意图 都是某个对象(subject, publisher)改变,使依赖于它的多 阅读全文
posted @ 2019-07-18 15:12 来亦何哀 阅读(2392) 评论(0) 推荐(0) 编辑