09 2012 档案
摘要:注:翻译之中有什么不恰当的地方,欢迎大家指正,祝大家双节快乐!原文链接:http://www.jspatterns.com/shim-sniffing/如果不是有特殊需要而去扩展原生对象和原型(prototype)的做法是不好的1 //不要这样做2 Array.prototype.map = function() {3 // 一些代码4 };除非这样做是值得的,例如,向一些旧的浏览器中添加一些ECMAScript5中的方法。在这种情况下,我们一般这样做:1 if (!Array.prototype.map) {2 Array.prototype.map = function() {3 ...
阅读全文
摘要:用ExtJS开发将近一年了,也遇到了很多奇怪的问题,印象最深的要算是ExtJS在ie中显示的问题了。由于开发过程中大多用chrome来调试,很少在ie中调试(现在两者都要兼顾),导致最后在ie中页面不能正常加载,当时那个囧啊,看到ie报的错,我都想哭,连出错的堆栈信息都没有(这一点,ie做的真不好),无从下手啊。尝试过N多方法,最后发现导致出现这种问题的原因(90%以上的可能性)是js的数组中多了一个英文的逗号',',而这种在chrome和火狐中是没有问题的,如下面的代码所示: 1 var win = Ext.create('Ext.window.Window'
阅读全文
摘要:JavaScript中的数组是比较常用的类型,今天看到了一些平时不经常使用(也许是我还不太熟悉)的方式,特记录一下。某些场合下很好用。var arr = ['hello', 'world', 'foo', 'bar'];alert(arr[1]); //'world'alert(arr['1']);//'world'alert(1 in arr);//truealert('1' in arr);//truealert(arr['length'])//4
阅读全文
摘要:Extjs的Panel和Window等组件在默认情况下是带边框的,通常情况下,单独使用没有什么关系,但是将Panel作为Window组件的子组件时就会出现双重边框的现象,如果Window组件中含有两个或者两个以上的Panel,那么Panel和Panel组件之间的边框会重复累加,也就是说会变成双重边框。实际上双重边框并不是很影响外观,但多少看上去会有些不太令人满意,因此我们就得想办法将两重边框去掉,变成单边框。下面是前后两张对比图,大家仔细观察一下两个window的边框部分,可以发现前者较粗,后者较细。 图一 图二下...
阅读全文
摘要:下面记录两种单例模式的实现方式:第一种,也是比较常见的一种 1 var Single = function(){ 2 if(typeof Single.instance === "object"){ 3 return Single.instance; 4 } 5 Single.instance = this; 6 }; 7 8 var i1 = new Single(); 9 var i2 = new Single();10 alert(i1 === i2);//truealert(typeof(Single.instance));//obje...
阅读全文
摘要:最近学习JavaScript看到了JavaScript的自身重写的用法,有必要记录一下,代码如下: 1 function fun(){ 2 var name = 'hello'; 3 //重写了自己 4 fun = function(){ 5 name = 'world'; 6 return name; 7 }; 8 return name; 9 }10 alert(fun());//"hello"11 alert(fun());//"world"12 alert(fun());//"world"13
阅读全文
摘要:以前用该工具部署老是出错,而且还不提示错误发生的地方,尝试了几次,就放下了,这几天又想拿过来弄弄,花了我将近一天的功夫,终于弄好了(编码问题,无奈),现在拿出来和大家分享,希望能帮到和我有一样的问题的同学们。该教程主要介绍如何使用Sencha SDK Tools来部署写好的ExtJS 4.x的程序。通常在开发的过程中我们会引入ext-all.js或者ext-debug.js,然后动态加载需要的js文件。但是,当我们的js文件较多的时候,就会增加程序的加载时间,影响运行速度。而实际情况是,当我们开发完程序进行部署时,只需要我们所真正需要的js文件即可,比如说,在我们的程序中可能没有用到Ext.c
阅读全文