2013年6月18日
摘要: 原文地址:http://blog.teamtreehouse.com/getting-started-with-handlebars-js本文只是翻译。主要目的是锻炼一下翻译及语言组织能力,水平有限,不足之处望批评指正。现在越来越多的Web应用程序开始使用 Javascript 来创建动态接口,这个趋势不会立即改变。DOM操作非常适合简单的 Javascript应用程序,但是,当每次改变 view 都需要改变 document 中大量节点的时候,你会怎么做?这时就需要引入 Javascript的模版。已经有很多非常好的 Javascript templating 类库可用。我第一次使用的是 m 阅读全文
posted @ 2013-06-18 22:31 花森 阅读(3807) 评论(0) 推荐(0) 编辑
  2013年6月13日
摘要: 活动对象是在进入函数上下文时刻被创建的,它通过函数的arguments属性初始化。arguments属性的值是Arguments对象:AO = { arguments: };Arguments对象是活动对象的一个属性,它包括如下属性:callee — 指向当前函数的引用length — 真正传递的参数个数properties-indexes (字符串类型的整数) 属性的值就是函数的参数值(按参数列表从左到右排列)。 properties-indexes内部元素的个数等于arguments.length. properties-indexes 的值和实际传递进来的参数之间是共享的。这个共享其实. 阅读全文
posted @ 2013-06-13 10:51 花森 阅读(315) 评论(0) 推荐(0) 编辑
  2013年6月3日
摘要: 1 function sleep(n) {2 var start = new Date().getTime();3 while(true) if(new Date().getTime()-start > n) break;4 }由于js的单线程机制,这种方式会使浏览器在这段时间内无法进行任何操作。 阅读全文
posted @ 2013-06-03 12:44 花森 阅读(195) 评论(0) 推荐(0) 编辑
  2013年5月1日
摘要: 浏览器播放视频 兼容方案在IE中播放音频不能使用embed标签,只能使用object一个兼容的方案是:结合object和embed标签代码如下: 如果想用js控制视频的播放和关闭,(或者是想控制视频的弹出或隐藏),若直接$('#youkuplayer').hide()在IE中没有效果,即视频隐藏后还在继续播放。解决办法:$(".video").hide(); if ($.browser.msie) { $('#youkuplayer').empty(); document.getElementById("youkuplayer&qu 阅读全文
posted @ 2013-05-01 11:54 花森 阅读(435) 评论(0) 推荐(0) 编辑
  2013年4月28日
摘要: Flash在chrome下的调试对于做开发的来说,没有调试简直就是无法想象的事情。最近开始学习Flex,却发现在chrome下不能调试,设置IE为默认浏览器后居然就就可以了。百思不得其解,网上一搜,果然,chrome的插件问题。chrome自带了一个flash的插件,虽然装的是flash的debug版本,但是chrome仍然使用的自己默认的flash,没有用我们安装的debug版。解决办法很简单,禁用掉这个默认的flash插件。网上还有人说最好安装的也是非IE内核的Flash Debug插件。所以总结起来注意两点:1安装的非IE内核的Flash Debug插件。下载地址:http://www. 阅读全文
posted @ 2013-04-28 16:39 花森 阅读(307) 评论(0) 推荐(0) 编辑
  2013年4月27日
摘要: JS中 字符串的replace函数 可以接受回调函数 例如一般用法:var a = '1,2,3,4,5';var b = a.replace('2,3','*');console.log(b); 输出:'1,*,4,5'回调函数的用法:var a = '1,2,3,4,5';var b = a.replace('2,3',function(match){ return '*';});console.log(b);输出:'1,*,4,5' 阅读全文
posted @ 2013-04-27 13:48 花森 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 1 call,apply,bind都是Function里面原生支持的方法,是JavaScript引擎内在实现的,每个Function的实例都有这三个属性。 call() 和 apply() 的用法很相似,只是调用的时候传递参数的方式有些区别: call():function.call(object, arg1,arg2...), apply():function.apply(object, [arg1,arg2,...]),apply方法传递的是一个参数数组,所以有时候直接传个 arguments 就可以。 注:这里的object就是该function里面的this,这... 阅读全文
posted @ 2013-04-27 11:18 花森 阅读(298) 评论(0) 推荐(0) 编辑
  2013年4月26日
摘要: JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( function(){ alert(’你好!’); } , 0);setInterval( callbackFunction , 100);认为setTimeout中的问候方法会立即被执行,因为这并不是凭空而说,而是JavaScript API文档明确定义第二个参数意义为隔多少毫秒后,回调方法就会被执行. 这里设成0毫秒,理所当然就立即被执行了.同理对setInterval的callbackFu 阅读全文
posted @ 2013-04-26 22:18 花森 阅读(164) 评论(0) 推荐(0) 编辑
摘要: JsDoc Toolkit文件下载地址:https://code.google.com/p/jsdoc-toolkit/downloads/detail?name=jsdoc_toolkit-2.4.0.zip使用方法:首先进入jsrun.jar目录下,输入命令:java -jar jsrun.jar app\run.js -a -t=templates\jsdoc mycode.js输出文档默认是在当前目录中新建一个文件名为out的文件夹下,可以通过 -d=somewhere_else 进行配置 阅读全文
posted @ 2013-04-26 11:46 花森 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 文件下载地址https://code.google.com/p/closure-compiler/downloads/list使用方法:首先进入compiler.jar这个文件所在的目录第一种:去掉注释和空格。java -jar compiler.jar --compilation_levelWHITESPACE_ONLY--js hello.js --js_output_file hello-WHITESPACE_ONLY-compiled.js第二种:去掉注释和空格,变量重命名 (一般情况下都用这个,不容易出错,而且压缩效果也不错。)java -jar compiler.jar --com 阅读全文
posted @ 2013-04-26 11:29 花森 阅读(463) 评论(0) 推荐(0) 编辑
  2013年4月24日
摘要: 想设置一个checkboxGroup中所有的checkbox为全选或全不选,中间碰到一个小问题:当选中全选框后,所有的checkbox都为选中状态,这时改变其中某个checkbox的状态为未选中,则全选框也应置为未选中状态。网上查了一些资料,没找到很好的办法。这里解决的办法也不是特别好。首先在这个checkboxGroup中的添加一个全选框:每个checkbox绑定chang事件: 阅读全文
posted @ 2013-04-24 21:20 花森 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-04-24 21:01 花森 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-04-24 20:56 花森 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 这个方法是从网上查到的,感觉十分好用 阅读全文
posted @ 2013-04-24 20:48 花森 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 在ExtJs中,GridPanel的单列排序是直接支持的,即在column中设置属性 sortabel: true, 并在store里设置remoteSort: true即可。(注意:如果store里的remoteSort不设置成true,则默认只在当前页排序,是不提交后台的本地内存排序。)一般表格的多列排序是这样的:第一次,点击一列的表头,按照这列进行排序,第二次点击另外一列则在第一列排好序的基础上再按第二列排序......显然这种逻辑前台处理起来会相当复杂,ExtJs也采取了一个折中的方案。这是官方给的一个例子:http://docs.sencha.com/extjs/4.1.3/#!/e 阅读全文
posted @ 2013-04-24 20:40 花森 阅读(854) 评论(0) 推荐(0) 编辑
  2013年4月22日
摘要: location是window下的一个全局变量location = { hash: "", host: "", hostname: "", href: "", pathname: "", port: "", protocol: "", search: "", reload: funciton(){}, replace: function(){}, assign: function(){}};例如:当前的url为:“http://127. 阅读全文
posted @ 2013-04-22 14:08 花森 阅读(301) 评论(0) 推荐(0) 编辑
  2013年4月18日
摘要: 原文地址:http://www.yining.org/2010/05/04/http-get-vs-post-and-thoughts/在推特上抱怨面试时问HTTP GETE和POST的区别得到回答都不满意,有人不清楚,当时只回复了看 RFC2616。趁有空说说面试时得到的回答大多是:POST是安全的,因为被提交的数据看不到,或者被加密的,其它的还有GET的时候中文出现乱码(在地址栏里),数据最大长度限制等等。说 POST 比 GET 安全肯定是错的,POST跟GET都是明文传输,用httpfox等插件,或者像WireShark等类似工具就能观察到。POST和GET的差别其实是很大的。语义上, 阅读全文
posted @ 2013-04-18 16:44 花森 阅读(131) 评论(0) 推荐(0) 编辑
  2013年4月17日
摘要: 1.Fillder 设置:Tools -> Fiddler Options -> Connections -> Allow remote computers to connect2.远程电脑设置(这里指虚拟机):Internet Explorer -> Tools -> Internet Options -> Connections -> LAN Settings -> Use a proxy server for your LANAddress: 192.168.56.1Port: Fiddler listens on port 阅读全文
posted @ 2013-04-17 11:12 花森 阅读(351) 评论(0) 推荐(0) 编辑
  2013年4月9日
摘要: 1.直接通过function申明函数:function a(){ console.log("a");}a();//输出b;function a(){ console.log("b");}a();//输出b;可以看到,二者均输出“b”。在javascript中,直接通过function申明的函数,后面定义的会影响到前面的引用。2.通过var申明函数:var a = function(){ console.log("a");};a();//输出a;var a = function(){ console.log("b") 阅读全文
posted @ 2013-04-09 18:18 花森 阅读(373) 评论(0) 推荐(0) 编辑
摘要: ExtJs grid里面,编辑(editor:'textfield')的时候,里面有一串字符串在grid里面,点击编辑(editor:'textfield')的时候,里面有一串字符串(),如何把这字符串去掉?因为在store里面没有定义对应字段的映射,如果定义了就不会有那一串的东西出来了。 阅读全文
posted @ 2013-04-09 09:36 花森 阅读(180) 评论(0) 推荐(0) 编辑