随笔分类 -  b) ECMAScript

摘要:首先es和cmj大家都知道不一样,具体区别也就不多说,需要注意的是TS的模块也是自己实现的,不过在ES Module 2015(es6)定稿下来后,TS沿用和支持了ES module,不过TS除了使用ES module的规范,自己也有一套namespace的模块管理,这在某个版本前一直用namesp 阅读全文
posted @ 2019-12-06 15:09 Lawliet__zmz 阅读(994) 评论(0) 推荐(0) 编辑
摘要:最近在看框架源码的时候,发现作者(或者Contributors)创建对象的时候,或者做继承的时候,都喜欢用到Object.create()。 首先MDN上对这个方法介绍的很清楚了, Object.create(proto[, propertiesObject]) 第一个参数传一个对象,(ps:[]为 阅读全文
posted @ 2019-08-13 18:49 Lawliet__zmz 阅读(160) 评论(0) 推荐(0) 编辑
摘要:前提 大家都知道try catch对异步流程中的错误有时候是捕捉不到的,eg: 执行这些代码,你会发现过了一秒后程序直接报错,console.log('error')并没有执行,也就是func1并没有捕捉到func2的异常。这就是异步的问题所在。 我们一般的做法就是直接加上async/await: 阅读全文
posted @ 2019-07-13 21:01 Lawliet__zmz 阅读(1013) 评论(0) 推荐(0) 编辑
摘要:用Promise控制异步流程,三个异步任务,时间可能有先后,但是要按照想要的顺序输出。 我这里用四种方法解决,其实也就是考察你对Promise的理解,基础题了。 也就是补全上面的mergePromise函数,得到如上的输出。 1.最好的方案async 2.自己构造then的链 先加一层完成状态的pr 阅读全文
posted @ 2018-08-18 01:09 Lawliet__zmz 阅读(546) 评论(0) 推荐(0) 编辑
摘要:最近被问到这个问题,jq的链式调用原理,当时比较懵=。=,毕竟现在jq接触的机会变很少了。 jq的链式调用 jq的链式调用其实就是比如我们在选择dom的时候, 比如如上代码,先选择type类型为button的所有DOM,然后再选择第一个... 我们自然想到每次其实就是返回选择后的结果,在js里面有什 阅读全文
posted @ 2018-08-16 01:18 Lawliet__zmz 阅读(921) 评论(0) 推荐(0) 编辑
摘要:最近在做我星际schub网站的时候,遇到了跨域问题,我先把后端node部署在了服务器上,然后在本地localhost测试,出现了问题: 浏览器都提示我们使用这个header头: 解决办法: 1. CORS 服务器设置响应头: (这样可能引起CSRF攻击,一般设置成对应的域名就行, response. 阅读全文
posted @ 2018-07-12 21:40 Lawliet__zmz 阅读(205) 评论(0) 推荐(1) 编辑
摘要:前记: 想写一个电影天堂的爬虫,因为node很长时间落下,就想用node去写一下。结果遇到了一些列的问题,这些问题归根到底就是异步流程控制的问题,在以前就一直会接触到很多回调地狱,Promise为什么会出现诸如此类的话题,现在终于是深刻体会到了! 开始的代码是: const cheerio = re 阅读全文
posted @ 2018-06-27 17:10 Lawliet__zmz 阅读(146) 评论(0) 推荐(0) 编辑
摘要:延续系列一: "链接" ,此次主要整理JS里面很常见的三个函数call,apply,bind的妙用。(apply和call差不多,只是参数的区别)(下面有些这三个可能只是辅助,但是只要用到,我就在这里整理) 1.类型检测 上一篇最后一个已经讲到,Object.prototype.toString.c 阅读全文
posted @ 2018-02-17 16:57 Lawliet__zmz 阅读(155) 评论(0) 推荐(0) 编辑
摘要:使用注意点 箭头函数有几个使用注意点。 (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 (3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。 阅读全文
posted @ 2018-02-11 17:41 Lawliet__zmz 阅读(212) 评论(0) 推荐(0) 编辑
摘要:自学习前端以来,陆陆续续遇见很多短小令人惊讶的js代码,固有了专门开一片日记来记录这些代码的想法。借此提高写代码的姿势和深度理解JavaScript。 1.JavaScript中 (a ==1 && a== 2 && a==3) 可能为 true 吗? 来自Stack Overflow的一个问题: 阅读全文
posted @ 2018-01-28 21:04 Lawliet__zmz 阅读(414) 评论(0) 推荐(0) 编辑
摘要:上一篇:http://blog.csdn.net/major_zhang/article/details/78616835 最近看了MDN文档,感觉写的是异常好啊。。。。通俗易懂,又有例子。 这里想在强调一下箭头函数与this的绑定问题。 eg: function Person() { // Per 阅读全文
posted @ 2018-01-27 00:20 Lawliet__zmz 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1.Promise 1.简介 Promise,简单来说就是一个容器,里面保存着某个未来才会结束的时间(通常是一个异步操作的结果) Promise对象的基本语法: 从语法上来说,Promise是一个对象,从它可以获取异步操作的消息。 基本语法: Promise对象特点和三个状态: 例如: 运行结果: 阅读全文
posted @ 2018-01-24 21:42 Lawliet__zmz 阅读(387) 评论(0) 推荐(0) 编辑
摘要:const,常量声明者 1. 01 只在当前的代码块有效 2. 02 作用域不会被提升 3. 03 在一个作用域里不能重复声明 4. 04 申明的常量必须立即赋值 5. 05可以改变堆区的对象内容,不能修改栈区的地址(和其他语言如Java类似) set,无重集合 map,键值对,弥补对象的局限性 S 阅读全文
posted @ 2017-12-25 22:28 Lawliet__zmz 阅读(231) 评论(0) 推荐(0) 编辑
摘要:ES6 let和var的四个不同 1. 01 作用域只局限于当前代码块 2. 02 使用let声明的变量作用域不会被提升 3. 03在相同的作用域下不能声明相同的变量 4. 04 for循环体现let的父子作用域 代码: 阅读全文
posted @ 2017-12-19 21:37 Lawliet__zmz 阅读(146) 评论(0) 推荐(0) 编辑
摘要:原代码来自ruan老师ES6书,作为var和let对比的说明。 我特地去SF社区问了下,得到了一些大佬们很好的回答。我这里总结一下。 1. 必须记住的两点:函数作用域是声明时确定的,函数内的值是执行时确定的! 所以执行时去确定i,注意function函数参数列表里没有传入i的值,会去外层作用域找,此 阅读全文
posted @ 2017-11-30 17:19 Lawliet__zmz 阅读(131) 评论(0) 推荐(0) 编辑
摘要:特性: 1. 单个参数时可省略(),箭头函数函数体只有单条语句返回时,可省略{}和return 2. 参数为对象时,可省略对象名 3. 在传统的js中,方法可以作为一个函数存储为对象的一个属性。当调用方法时,this 指向该方法的从属对象。 但是当用箭头函数时, calculate.sum() 方法 阅读全文
posted @ 2017-11-17 17:47 Lawliet__zmz 阅读(169) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示