代码改变世界

随笔分类 -  javascript

微信小程序全局状态管理 wxscv

2019-07-23 19:15 by cczw, 7384 阅读, 收藏, 编辑
摘要: 微信小程序全局状态管理库 阅读全文

electron-利用node开发桌面应用

2016-10-21 11:35 by cczw, 17852 阅读, 收藏, 编辑
摘要: 简介 web前端语言的发展有目共睹, 从原来的pc web, 到后来的mobile SAP, 再到 nodejs,全站工程师应运而生. js快速而且稳健的发展让人不得不重视, 相应的前端开发人员的地位也越来越高, 越来越多的人愿意投入到前端的阵营里去. 而桌面app向来是web前端开发开发人员下意识 阅读全文

【SJSB】 android-javascript开发框架

2014-10-13 18:15 by cczw, 573 阅读, 收藏, 编辑
摘要: 这是一个本人开发的android壳,作用就是为html5开发提供各种接口以调用native.只是第一个版本,随笔以纪念。详细的说明和api都在 项目的readme中。项目地址:https://github.com/cczw2010/sjsb 阅读全文

javascript与 ios通讯解决办法

2014-08-05 13:26 by cczw, 4163 阅读, 收藏, 编辑
摘要: 阔别1年半之久,一个JavaScript和ios通讯的想法终于被实现了(我不知道别人有没有早就实现过~)。 记得早期ios内嵌html做通讯时,貌似做好的办法只能是 ios通过url来截取页面发送消息,但是这样一来如果页面框架对url的依赖比较高那么就会出问题,并且频繁改url,ios可能并不... 阅读全文

html5 经验记录 持续更新

2013-12-16 13:53 by cczw, 2792 阅读, 收藏, 编辑
摘要: 1 关于page cache 由于移动端浏览器webkit基本都实现了page cache(火狐叫做back-forwoad cache);所以回退操作基本不会触发onload操作了,不过上一页的状态事件都会保存,一般情况下不会出问题,如果需要每次展现都触发事件可以考虑pageshow事件。 但... 阅读全文

html5引擎开发 -- 引擎消息中心和有限状态机 - 初步整理 一

2013-11-06 11:01 by cczw, 2303 阅读, 收藏, 编辑
摘要: 一 什么是有限状态机 FSM (finite-state machine),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。他对于逻辑以及时序的控制能起到非常重要的作用。代码主要看的是什么?逻辑!所有的设计模式无非是让程序逻辑变得更加利与维护,利于优化,利于升级而已。那么能不能把业务逻辑整理出来统一操作呢?你可以理解状态机就是干这个的(当然不仅仅是这样)。这样一来只要将一个业务看成一个状态机,有N中状态,然后统一来控制这些状态时的操作。大家都用过dom事件绑定,是不是某种状态时候就会触发某种事件?这明显也是状态机的概念能解释的。还有观察者模式或者 阅读全文

localStorage变更事件当前页响应新解-awen

2013-07-17 16:59 by cczw, 9098 阅读, 收藏, 编辑
摘要: html5的localStorage相信大家都是很熟悉了,但是在chrome等支持该对象的浏览器中(ie10除外),如果你监听storage变更事件你就会发现,当数据发生变化时本页是监听不到storage事件变更消息的。而同域的其他打开的页面反而监听到了该消息。悲剧不?以上的机制应该是无可厚非的,但是对于单页app或者数据驱动的页面展现来说,这是一个让人抓狂的规事情。awen在开发中为了实现一个纯数据驱动的单页app机制。不得不面对这个问题,经过测试终于实现了本页面locaStorage变更监听。基本原理如下:1 重新生成一个对象,包装localStorage原生方法:var Storage 阅读全文

我的js单例模式

2013-03-14 12:59 by cczw, 240 阅读, 收藏, 编辑
摘要: function Single(s){ if (Single.instance!=undefined) { return Single.instance; }; /**测试代码 start*/ var a=new Date().getTime(); this.test=function(){ console.log(a); } this.flash=function(){ a=new Date().getTime();; } /**测试代码 end*/ return Single.instance=this;}///////////testvar a=n... 阅读全文

SJS(simple javascript)html5开发扩展库

2013-03-02 11:34 by cczw, 944 阅读, 收藏, 编辑
摘要: 由于长期的开发html5移动项目,所以少不了使用一些库,如jquery mobile,zepto等,但是相对于移动设备来说,jquery太庞大了,而且它的意义在于兼容,当一切放在html5的基础上的时候,他就失去了意义。zepto的动画和拖动还是不尽人意,动画缺少控制,而且经常冲突,另外居然有些方法不支持iphone3g,但是公司开发时要求支持的。。。蛋疼是必须的。也是因为如此,作者就想了,干脆自己封一套算了,以前给自己各种借口逃避,现在终于狠心来下手了。算是为国产开源贡献点小力量。于是sjs出土了。。。这是一个面向html5的框架,本来可以更精简的,但是为了兼容一些智能手机移动设备(比如ip 阅读全文

javascrpt绑定事件之匿名函数

2012-12-06 17:42 by cczw, 795 阅读, 收藏, 编辑
摘要: 经常听到有人说,匿名函数绑定事件不好控制啊,无法解除绑定啊等等等等,一直很奇怪谁说的不能解除绑定。下面来实现click事件2次后,自动解除绑定。看代码:var dom=document.getElementById("test"),clickt=0;dom.addEventListener("click",function(e){ clickt++; alert('你摸了我'+clickt+'下了。最多摸2下哦'); if(clickt>=2){ this.removeEventListener(e.type,arg 阅读全文

javascript运行机制

2012-11-23 11:51 by cczw, 1123 阅读, 收藏, 编辑
摘要: 很多人对javascript的加载运行机制懵懵懂懂,包括我也是。所以整理出来备忘:一 先热热身,看看下面两段代码://example1alert(a);a=1000;//example2alert(b);varb=1000;//example3func();varfunc=function(){};这三个会咋样呢?第一个会直接报错,代码终止执行当前代码块,跳入下一个代码块开始执行;第二个呢会弹出undefined,第三个会直接报错func不是一个函数。为什么会有这样的差异呢?这就跟今天的主题有关系了,它们分别涉及到了javascript的两个运行阶段,预解析和运行阶段。二 预热结束,我们先系统 阅读全文

Rhino -- 基于java的javascript实现

2012-07-16 17:42 by cczw, 27893 阅读, 收藏, 编辑
摘要: 这几天突然对js引擎非常感兴趣,大概了解了一下,记下来备忘。javascript引擎大家比较熟悉的应该是当前比较火的Chrome V8引擎。以快速闻名。v8基于c++开发。这里就不多阐述了。另外一个是 基于java的Rhino引擎,这个想来大家不是很了解。下面来简单介绍一下。Rhino简介(简介这部分是抄的)Rhino 是一种使用 Java 语言编写的 JavaScript 的开源实现,原先由Mozilla开发,现在被集成进入JDK 6.0。与其他很多语言一样,Rhino 是一种动态类型的、基于对象的脚本语言,它可以简单地访问各种 Java 类库。Rhino 从 JavaScript 中借用了 阅读全文

JavaScript的继承 -转载

2012-07-13 13:56 by cczw, 1078 阅读, 收藏, 编辑
摘要: JavaScript继承概况在《Object Oriented JavaScript》提及了12种javascript的继承方式的变化(12种,感觉有点多吧).JavaScript中并没有类,function在JavaScript中的作用只是作为一个构造函数,不过我们后面都暂且把构造函数叫做类。我们认为一个实例的属性依赖于其构造函数提供的属性配置,以及构造函数的原型(prototype)的属性。要做到继承就要先利用好这两个因素。从简单的例子开始先声明一个Animal构造函数,用于创建一个动物的实例。function Animal() { this.name = "Animal&quo 阅读全文