随笔分类 - JavaScript
摘要:很久以前就学习过Async和Promise,但总是一知半解的。 今天在写NodeJS的时候,发现好多第三方库使用回调,这样在实际操作中会出现多重回调,这就是传说中的JS回调地狱。 举个例子 有一个方法调用redis,访问一个Hash对象表,获取到返回值后,将返回值插入到redis的另外一个Hash对
阅读全文
摘要:我是网络的搬运工,具体请看:Webpack 3,从入门到放弃
阅读全文
摘要:一、概念 首先我们要理解Generator和Promise的概念。 Generator:意思是生成器,可以在函数内部通过yeild来控制语句的执行或暂停状态。 通过上面这个例子可以看到,使用*将Foo声明为Generator函数,然后再执行Foo的时候,不会执行到底,而是执行到第一句yeild就停下
阅读全文
摘要:最近在项目中有使用Vue,然而在开发过程中发现,当我对数组中的元素进行删除时,会导致该元素后面的元素没有被重新渲染。 html代码如下:有两个组件:一个是Main组件,用来包含所有的内容容器;一个是子组件,用来显示内容。 js代码如下: 然后还有一个Vuex的store: 正常来说,在删除子容器时,
阅读全文
摘要:最近写多了js的面向对象编程,用$.extend写继承写得很顺手。但是在使用过程中发现有几个问题。 1.深拷贝 $.extend默认是浅拷贝,这意味着在继承复杂对象时,对象中内嵌的对象无法被拷贝到。 因此如果要深拷贝,则需要将第一个参数设置为true。 如: 2.对象覆盖 在进行面向对象编程时,有这
阅读全文
摘要:之前有学习过通过prototype模式来构造类,并通过prototype来添加方法。好处大概有以下几点: 1.类方法可以都放在prototype中,可以提高性能效率。 2.可以用prototype来实现继承。 但是缺点也不少,比如: 1.通过prototype添加方法又臭又长,编码很不方便。 2.继
阅读全文
摘要:前言 在此之前研究了一段React,但是不得不承认React、Vue等MVVM框架相对于原有的Jquery来说,简直是翻天覆地的不同。它们之间的差异不仅仅体现在框架思维的不同,而是ES5到ES6的编程语言升级,还有整体构建体系的区别。Jquery仅仅代表JS作为支持语言为HTML提供更好的体验;而到
阅读全文
摘要:function* 声明 function* 声明(function关键字后跟一个星号)定义一个generator(生成器)函数,返回一个Generator对象。 生成器是一种可以从中退出并在之后重新进入的函数。生成器的环境(绑定的变量)会在每次执行后被保存,下次进入时可继续使用。 调用一个生成器函
阅读全文
摘要:背景 最近开启一个新项目,需要对前端的各类资源文件进行打包,经过多方调研后,决定使用webpack工具。但是网上的教程多是将webpack直接作为服务器使用,而我只是想将其作为单纯的资源打包工具而已。经过多方调研,终于发现如何实现webpack的文件打包功能。 准备 在使用webpack之前,必须先
阅读全文
摘要:初始化阶段 getDefaultPropos:只调用一次,实力之间共享引用 getInitialState:初始化每个实例特有的状态 componentWillMount:render之前最后一次修改状态的机会 render:只能访问this.props和this.state,只有一个顶层组件,不允许修改状态和DOM输出 componentDidMount:成功render并渲染完成真实DOM后...
阅读全文
摘要:作者:小爝链接:https://www.zhihu.com/question/30274750/answer/118846177来源:知乎著作权归作者所有,转载请联系作者获得授权。 1,如何编写健壮的javascript代码,鲁棒性,简单总结几条我觉得是常识的事:1.1 一个javascript库最
阅读全文
摘要:一、背景 开发Web平台时,经常会需要定时向服务器轮询获取数据状态,并且通常不仅只开一个轮询,而是根据业务需要会产生数个轮询。这种情况下,性能低下的Ajax长轮询已经不能满足需求,频繁的访问还会造成线程阻塞。最优的解决方案当然是用Websocket,采用服务器推送的方式来减少频繁开关连接造成的开销...
阅读全文
摘要:先说几句牢骚话。虽然IE8比之IE6、7有很大的进步,但是在执行效率、兼容性上仍然有很多问题。被广大开发者喜爱的平台才是好平台。可惜多亏当年盗版XP打开中国的计算机市场,IE作为一款捆绑软件仍然在中国有很大的使用人群。既然是中国人自己埋下的坑,咬着牙也要走下去。a标签的onclick事件在开发现在这...
阅读全文
摘要:最近在读【Jquery技术内幕】,里面介绍了一种js for循环的实用写法。一般写for循环是这么写的:var elemts = [1,2,3,4,5];for(var i=0; i<elemts.length; i++ ){ var elemt = elemts[i];}而Jquery里面是...
阅读全文
摘要:jQuery( object )jquery在构造对象时,除了可以用十分好用的css选择器来查找DOM,还可以传入一个javascript对象来生成一个jquery对象。// JSvar foo = {name:"foo",hello:"word"};var $foo = $(foo);$foo.o...
阅读全文
摘要:闲着无聊,用Jquery写了一个幻灯片效果。我这人喜欢造轮子,除了jquery这种有强大开发团队的框架级别JS,其实的一些小程序都是尽量自己写。一是因为怕出问题了没人问,二是自己写的改起来也方便。效果可参考:http://www.helloweba.com/demo/supersized/只是上面这...
阅读全文
摘要:最近用flexigrid作报表,需要自定义条件进行查询,界面如下:翻了半天文档也没找到如何用POST方法自行传递参数进行查询。找了一个台湾人写的博客,却要改flexigrid的源代码,更不靠谱。后来在StackOverflow上发现解决方法。代码如下:var postData = { "Are...
阅读全文
摘要:FirstDemo 申淑洁 MARRY ME! Canvas is not support in your brower! 运行 提示:您可以先修改部分代码再运行
阅读全文
摘要:虽然平常用jquery用的很熟,但是基本都是面向过程的写法。一个事件一个function,很少有面向对象的写法。今天得写一个日期控件,不得不用上面向对象编程。刚开始我的想法是:var datepicker = function(){ return new datepicker.fn.init();}datepicker.fn = datepicker.prototype={ constructor:datepicker, init:function(){ }}datepicker.fn.init.prototype = datepicker.fn;datepicker...
阅读全文