observer / listener 模式
button 实现 observer 的接口,里面一个 event 数组,一个事件的 function 加入时,function 加入到这个事件的 listener 数组,button 发生事件时,通知事件 function 数组的所有成员,执行。
若事件正在发生的同时又对这个事件加入(或删除)了一个listener,( this.firing = true ),则 this.listeners = this.listeners.slice(0) copy 一个新的数组,然后操作 this.listeners,不干扰当前的 loop
button -> component -> observer
reference :
slice:
var a;
a = new Array("a","b","c","d","e");
document.write(a.slice(0,3) + "<br>");
document.write(a.slice(-3,4) + "<br>");
document.write(a.slice(0,-1) + "<br>");
document.write(a.slice(1) + "<br>");
document.write(a.slice(4,3));
var a;
a = new Array("a","b","c","d","e");
document.write(a.slice(0,3) + "<br>");
document.write(a.slice(-3,4) + "<br>");
document.write(a.slice(0,-1) + "<br>");
document.write(a.slice(1) + "<br>");
document.write(a.slice(4,3));
这个示例用到了数组(Array)对象的Slice(start,[end])方法,该方法返回一个新数组,包含了源函数从start到 end 所指定的元素,但是不包括end元素,比如a.slice(0,3);如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度,比如a.slice(-3,4),相当于a.slice(2,4)。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度,比如a.slice(0,-1)。如果省略 end ,那么 slice 方法将一直复制到源数组结尾,比如a.slice(1)。如果 end 出现在 start 之前,不复制任何元素到新数组中,比如a.slice(4,3)。
splice:
splice():在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象
细节:
splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的
进行添加:splice(起始项,0,添加项)
进行删除:splice(起始项,要删除的项个数)
进行替换:splice(起始项,替换个数,替换项) 这个其实是添加删除的共同结果
代码:
var m=["am","bm"]
m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm
alert(m);
m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm)
alert(m);
m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm)
alert(m);
分享到:
相关推荐
EXTJS 3.04包/中文版API/入门学习资料
struts2+extjs3的单/多文件上传,后台也可以不用struts2,前台也可以去掉extjs,资源包含所需要的所有JAR包,无需另外下载,代码量绝对精简易懂。
ExtJs + api + 笔记 + 完整包
licensing@extjs.com http://extjs.com/license Open Source License Ext is licensed under the terms of the Open Source GPL 3.0 license. http://www.gnu.org/licenses/gpl.html There are several FLOSS ...
Extjs3 多选下拉框LovCombo,Extjs3 多选下拉框LovCombo
体验例子见:http://extjs.com/deploy/dev/examples/form/file-upload.html 2、GMapPanel GMap扩展 体验例子见:http://extjs.com/deploy/dev/examples/window/gmap.html 3、XmlTreeLoader XML转换成Tree ...
extjsapi,extjs文档,api手岫
NULL 博文链接:https://lovebeyond.iteye.com/blog/1197784
1、开始使用extjs 2、组件的介绍以及应用 3、ExtJS的核心 该教程有相应的代码以供参考 <!--导入Ext3.2--> <link rel="stylesheet" type="text/css" href="extjs3.2/resources/css/ext-all.css" /> ...
ExtJS是一个很不错的Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得...要使用ExtJS,那么首先要得到ExtJS库文件,该框架是一个开源的,可以直接从官方网站下载,网址:http://extjs.com/products/extjs/download.php
Extjs4.2.1核心包,做学习测试用,拷贝这些文件就行了,如果拷贝完整的包,...<link rel="stylesheet" href="extjs/resources/css/ext-all.css" type="text/css" /> <script src="extjs/ext-all-debug.js"></script>
对ExtJS的TabPanel加载带js的iframe页提供支持 extjs load once提供支持 extjs 面板间消息传递提供支持。。 <br>资源整理自extjs论坛,修正了里面的链接和异常,直接部署到extjs2.1的example底下就可以 ...
extjs中文解决方案/Eclipse下的js和ext开发 内容: 1. <script type="text/javascript" src="<%=contextPath%>/public/js/ext-base.js"></script> 2. <script type="text/javascript" src="<%=contextPath%>/public...
http://docs.sencha.com/extjs/4.2.1/ 参考这个 ,与这个一样
对extjs时间的介绍,期待您的参与,我们一起努力
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" /> <script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="extjs/...
1.主要是Extjs方面的一些学习笔记。重点方面有事件处理,动态载入等相关介绍。
http://【localhost:5012/web】/Extjs5Demo/build/examples/index.html 【】内,输入Extjs5Demo在服务器上的地址,即可看到官方文档
ExtJS4.0.7的MVC模式。 欢迎大家下载。
开始ExtJS之旅的第一步是要获得开发包,可以从官方网站www.ExtJS.com下载,以保证获 得最新版本。其下载地址是http://www.ExtJS.com/download,下载成功后的开发包是ExtJS- 2.0.2.zip,有6.08MB大。不过不用担心,这...