
javascript
文章平均质量分 58
唐小狼
“人们称赞我是最勤奋的人,如果思考也算劳动的话,或许的确如此,因为一天之中从睁开眼,我几乎一直在思考。但是,如果工作被认为是在特定时间,根据狭隘标准从事某些特定活动的话,那么或许我是最懒惰的家伙。”
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript closure的一个问题
function f1() { var n = 999; nAdd = function() { n += 1 } function f2() { alert(n); } return f2;}var result1 = f1();var result2 = f1();var result3 = f1();n...原创 2019-12-04 14:37:21 · 404 阅读 · 0 评论 -
范畴论——函数式编程
函数式编程学习总结,慢慢更新!原创 2017-04-11 16:49:58 · 1027 阅读 · 0 评论 -
标签解析和JavaScript的闭包
原文地址:http://davidshariff.com/blog/javascript-scope-chain-and-closures/#more-271从我的上篇文章中,我们知道每个函数都会有一个关联的execution context,execution context包含一个变量对象variable object[VO]。变量对象由函数的局部变量、内部函数和参数声明组成。翻译 2016-08-04 15:42:43 · 430 阅读 · 0 评论 -
深入探讨JavaScript的执行环境和栈
原文网址:http://davidshariff.com/blog/what-is-the-execution-context-in-javascript/这篇文章我将会深入地讨论JavaScript中最根本的一部分——Execution Context(执行上下文)。在文章结束的时候,你应该对解释器的工作原理有一个比较清晰的理解,对于为什么会存在‘变量提升’,它们的值又是如何被真正确定的翻译 2016-08-01 17:02:46 · 2297 阅读 · 2 评论 -
你不知道的JS——札记(二)
1. 一个常见的错误论断是“ JavaScript 中的一切都是对象”2. instanceofThe instanceof operator tests whether an object in its prototype chain has the prototype property of a constructor.3. 在必要的时候语言会自动地将 "strin原创 2017-06-07 14:11:23 · 377 阅读 · 0 评论 -
你不知道的JS——札记(一)
读书札记原创 2017-06-06 15:26:13 · 457 阅读 · 0 评论 -
Generator 函数基础(一) (The Basics of ES6 Generators)
原文地址:The Basics Of ES6 Generators作者简介:Kyle Simpson is an Open Web Evangelist from Austin, TX, passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contri翻译 2017-07-31 19:05:14 · 892 阅读 · 0 评论 -
深入 Generator 函数(三) (Going Async With ES6 Generators)
Going Async With ES6 Generators作者简介:Kyle Simpson is an Open Web Evangelist from Austin, TX, passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contribu翻译 2017-08-06 22:44:36 · 544 阅读 · 0 评论 -
深入 Generator 函数(二) (Diving Deeper With ES6 Generators)
Diving Deeper With ES6 Generators作者简介:Kyle Simpson is an Open Web Evangelist from Austin, TX, passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contri翻译 2017-08-02 00:00:33 · 602 阅读 · 0 评论 -
JavaScript 工作原理(一)——内存管理与四种常见内存泄漏的处理方法
几周前,我们新开了一系列文章,旨在深入 JavaScript,探寻其工作原理。我们认为通过了解 JavaScript 的构建方式和其运行规则,我们能写出更好的代码和应用。第一篇文章重点介绍了引擎、运行时和调用栈的概述。第二篇文章仔细地分析了 Google's V8 JavaScript 引擎的内部部分并且为如何编写更好的 JavaScript 代码提供了一些建议。这是第三篇文章,我翻译 2017-09-27 15:59:21 · 12572 阅读 · 2 评论 -
ES6 异步编程(一)——Promise
嘿,大家好呀,今天这篇文章和大家聊聊 ES6 的异步编程实现。当然,ES6 中提出了多种解决方案,我们今天先聊聊 Promise 这个异步编程解决方案。异步编程JavaScript 中为什么会有异步编程这个概念呢?老生常谈的答案,因为 JavaScript 是单线程的。那么是什么造就了 JavaScript 的单线程呢?在浏览器中,单线程的 JavaScript 的运行机制原创 2017-11-13 14:34:41 · 776 阅读 · 0 评论 -
小程序系列——缠
这一篇文章将是小程序系列的第三篇文章,我们会更加的篇实践。上一篇文章最后介绍的知识点是模板,这个知识点很重要,因为它对于功能模块的封装,进行模块化开发,启着关键的作用。所以,这一篇文章第一个知识点还是模板使用,我们使用模板,实践封装一个小程序 toast。模板实践开发我们要利用模板,开发一个小程序的 toast。因为,原生 api 提供的 toast 对于类型、字数等方面都有很大的局限性。所以,我原创 2018-01-15 20:11:41 · 647 阅读 · 0 评论 -
与端共舞
随着智能手机的普及,移动网络的提速升级,越来越多的场景我们都在使用移动app了,我们早已经进入全面移动的时代。app 的迭代发展必然会越来越快,而且需要更加灵活。这就促使了 Native App 嵌入 H5 页面模式出现,今天聊得就是我们的 H5 如何能够和 Native App 协同共赢,提供更好的服务的。H5 与 Native App 交互可以大致分为端外和端内两个场景,这两个场景的解决...原创 2019-04-08 17:11:33 · 613 阅读 · 0 评论 -
JavaScript 字节单位换算函数【详解】
前言:我们在日常开发中,经常会遇到字节单位换算的场景。一般用简单的除法来计算时,都会遇到计算精度的问题。有关 JavaScript 浮点数陷阱 的问题,看一参考一下这篇不错的文章。下面,我们着重要将的是一种精确字节单位换算的详解:1. 先看代码const byteConvert = function(bytes) { if (isNaN(bytes)) { retu...原创 2019-05-06 14:08:52 · 1076 阅读 · 1 评论 -
正则学习二——匹配url后的参数
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null){ co原创 2016-11-24 11:11:41 · 2626 阅读 · 0 评论 -
grunt-text-replace 和正则的一些小记
1、grunt-text-replace使用grunt来压缩前端文件的时候,经常涉及到index文件种的内容替换,grunt-text-replace是实现这种功能的一个插件。npm网站上对grunt-text-replace的用法有多种介绍,一般有下面两种:1、第一种replace: { example: { src: ['text/*.txt'],原创 2016-10-11 14:51:34 · 2053 阅读 · 0 评论 -
javascript简单布局实现单选按钮控件
主要是对最近学习的知识做练习,可以巩固提高!效果如下图:代码如下: 单选控件 .radioD{ width: 300px; height: 300px; background: url(field.jpg) no-repeat; } .radioD li{ font-size: 18px; font-family: Ari原创 2016-03-30 10:49:46 · 3995 阅读 · 0 评论 -
浅谈事件冒泡与事件捕获
原文链接地址:http://blog.acwong.org/2014/10/28/bubbling-and-capturing/事件冒泡与事件捕获事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题。HTMLdiv id="outer"> p id="inner">Click me!p>转载 2016-03-08 11:35:24 · 375 阅读 · 0 评论 -
array的api——filter函数的使用学习
1、filter()概述**filter()** 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。语法arr.filter(callback[, thisArg])参数callback用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)。返回true原创 2016-05-24 09:24:11 · 806 阅读 · 0 评论 -
深入理解JavaScript类数组
写这篇博客的起因,是我在知乎上回答一个问题时,说自己在学前端时把《JavaScript高级程序设计》看了好几遍。于是在评论区中,出现了如下的对话:天啦噜,这话说的,宝宝感觉到的,是满满的恶意啊。还好自己的JavaScript基础还算不错,没被打脸。(吐槽一句:知乎少部分人真的是恶意度爆表,整天想着打别人的脸。都是搞技术的,和善一点不行吗…………)不过这个话题也引起了我的注意转载 2016-05-12 15:26:57 · 480 阅读 · 0 评论 -
JavaScript继承实现方法——温故知新
原型继承示例代码:script> function SuperType(){ this.property = true; } SuperType.prototype.getSuperValue = function(){ return this.property;原创 2016-06-02 15:40:54 · 382 阅读 · 0 评论 -
JavaScript定义模块
定义模块 define a module采用类似AMD和CommonJS的方式来定义模块,define是全局函数,基本语法如下:define( id?, dependencies?, factory );id,模块标识符,用来唯一标识所定义模块,只能是字符串dependencies,模块依赖,只能是数组,且其每一项均是所依赖模块的idfactory,模块构造方法原创 2016-07-13 17:15:13 · 741 阅读 · 0 评论 -
缓存记忆DOM元素
样例代码:function getElements(name){ if(!getElements.cache) getElements.cache = {}; return getElements.cache[name] = getElements.cache[name] ||原创 2016-06-16 16:55:49 · 1765 阅读 · 0 评论 -
闭包的深入理解——闭包形成的独立性
闭包的深入理解一:引子function makePowerFn(power){ function powerFn(base){ console.log(power); return Math.pow(base,power); } return powerFn;}var square = makePowerFn(2);var cube = makePowerFn(3)原创 2016-07-26 15:49:27 · 2078 阅读 · 1 评论 -
ES6学习之——let、const
读阮一峰老师的ES6入门受益良多,好记性不如烂博客,记录学习笔记!!一、块作用域我们都知道,在ES5中,只有全局作用域和函数作用域,没有块级作用域,这种模式会带来一些不合理的场景。第一种场景:内层变量可能会覆盖外层变量。var tmp = new Date(); function f() { console.log(tmp); if (false) { var t原创 2016-06-22 22:21:58 · 557 阅读 · 0 评论 -
JS函数式编程
一、概念相关“函数式编程”是这种编程典范,它将电脑运算视为函数的计算。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要;和过程化编程相比,函数式编程里,函数的计算可随时调用。函数式编程的重点是函数的定义而不是状态机(state machine)的实现函数式概念的运用,例如:扩展数组排序、动态HTML生成的优美代码、系列函数的应用。二、应用概念1、高阶函数可原创 2016-07-29 15:54:43 · 617 阅读 · 0 评论 -
S.O.L.I.D五大原则之单一职责SRP
大叔文章地址:http://www.cnblogs.com/TomXu/archive/2012/01/06/2305513.html#!comments前言Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是:The Single Responsibility Principle(单一职责SRP)The Open/Close转载 2016-08-16 16:07:43 · 1447 阅读 · 0 评论 -
JavaScript中的this关键字
译文原文链接:http://davidshariff.com/blog/javascript-this-keyword/#first-articlethis 关键词是 JavaScript 一个常用的特性,但是它同时也是这门语言中最容易让人困惑或者误解的一个点。this 实际上是什么意思?如何去确定呢?这篇文章尽力用一种清晰的方式来解决大家的困惑。'this' 关键字对于其它程翻译 2016-08-10 14:57:09 · 302 阅读 · 0 评论 -
JavaScript closure的一个问题
down votefavoritefunction f1() { var n = 999; nAdd = function() { n += 1 } function f2() { alert(n); } return f2; } var result1原创 2016-08-11 14:42:45 · 288 阅读 · 0 评论 -
Js函数调用模式
当一个函数并非一个对象的属性时,那么它被当作一个函数来调用:var sum = add(1, 3); 当函数以此模式进行调用时,this被绑定到全局变量。这是语言设计上的一个错误。倘若语言设计正确,当内部函数被调用时,this应该仍绑定到外部函数的this变量。这个设计错误的后果是方法不能利用内部函数来帮助它工作,因为内部函数的值被绑定了错误的值,绑定到了全局变量上面,就无法使用this来共享方法原创 2016-01-21 14:14:58 · 430 阅读 · 0 评论