EXT.decode()和EXT.encode()方法

合集下载

Ext常用函数

Ext常用函数
======EXT常用函数======
1、Ext.onReady(function fn,Object scope,boolean override)
该方法的调用发生在Document对象加载完毕后,html的Onload()事件与image加载之前
fn:执行的函数
2、Ext.get(Mixed el)
如果参数是字符串则返回String,如果参数是数字则返回number,如果参数是布尔参数则返回boolean
如果参数是日期则返回Date,如果参数是函数则返回函数
通过指定的id或者Dom节点或Element元素,获取HTMLElement
7、Ext.isEmpty()
对指定的元素或者节点进行判断,是否为空,如果指定的节点是null,undefined,则返回true,否则返回false
8、space()
创建指定的命名空间后,就可以在该命名空间下定义变量,方法和类。
此时在这些变量或类将在该命名空间下,当引用该类时需要通过该命名空间方可引用。
9、Ext.each()
分别对一个数组或者集合进行迭代,分别对集合中的对合具有相同的功能。
10、Ext.apply(Object obj,Object config,Object defaults)
来完成的,而它只是提供了一种Ext.DomQuery.select的简快调用。
5、Ext.getCmp(String id)
返回ponent管理的指定的id的Component对象,实际是ponentMgr.get(id)的包装调用
6、Ext.getDom(Mixed el)
为指定的对象拷贝属性,或以默认的属性初始化一个对象

分词与词性标注——常用分词工具

分词与词性标注——常用分词工具

分词与词性标注——常⽤分词⼯具 分词与词性标注是⾃然语⾔处理的基础⼯作之⼀,是⼤多数后续⼯作的前提,因此,要进⾏⾃然语⾔处理的相关研究,⾸先要对分词与词性标注有所了解。

个⼈⼀直⽐较倾向于从应⽤到理论的反向学习⽅式,先直观的感受⼀下实际应⽤的效果,再去学习达成这种效果的理论与算法,这样好处不仅是能让你更有兴趣与动⼒,更重要的是学习理论的过程中可以不断的与实际应⽤进⾏映射,对每⼀步的⽬的了然于胸。

⼯欲善其事必先利其器,在学习⾃然语⾔处理的各种理论之前,先体会运⽤⼀下各种已达实⽤⽔品的⼯具,对于学习的兴趣与动⼒都是⼀种推动,下⾯介绍⼀下python中的常⽤分词⼯具:1.smallseg smallseg是⼀款由python编写的开源分词⼯具包,⾮常⼩巧,使⽤起来也异常⽅便,从下⾯的地址可以下载得到:"="下载后解压即可,其使⽤⽅法⾮常简单,稍微看⼀下其中的test_fenci.py就很清晰了,因此这⾥就不详细说明了,如果是python新⼿,可以按照下⾯⼏个步骤在shell中简单测试:1.解压后将其中的smallseg.py移到python安装⽬录下的Lib\site-packages下,⽐如"C:\Python26\Lib\site-packages"(根据你的安装路径⾃⾏更改)2.在python shell中输⼊以下语句:1 >>> import smallseg2 >>> newseg = smallseg.SEG()3 loading dict...4 dict ok.5 >>> rslt = newseg.cut('python是⼀门⾮常⽅便可爱的编程语⾔'.decode('gbk').encode('utf-8'))6 >>> rslt.reverse()7 >>> print' '.join(rslt)8 python 是⼀门⾮常⽅便可爱的编程语⾔这⾥需要稍微注意⼀下编码的问题,由于简体中⽂操作系统默认的编码为gb系列,⽽smallseg只⽀持utf-8,所以需要先将其转为utf-8的编码,上⾯的".decode('gbk').encode('utf-8')"做的就是这项⼯作。

EXTJS-表单-1

EXTJS-表单-1

HtmlEditor
• • • • • • • • • • • • var field = new Ext.form.HtmlEditor({ fieldLabel: '在线编辑器', enableAlignments: true, enableColors: true, enableFont: true, enableFontSize: true, enableFormat: true, enableLinks: true, enableLists: true, enableSourceEdit: true, fontFamilies: ['宋体', '黑体'] });
• • • •
allowBlank:输入是否允许为空 maxLength: 最大长度 minLength: 最小长度 vtype: 是Ext提供的一套默认的校验方案,一共 Ext 有四种方案:
Html原始的提交方式
• buttons: [{ • text: '按钮', • handler: function() { • form.getForm().getEl().dom.action = “result.jsp"; • form.getForm().getEl().dom.submit(); • } • }]
TextArea
• var field = new Ext.form.TextArea({ • width: 200, • grow: true, • preventScrollbars: true, • fieldLabel: 'empty', • allowBlank: false, • emptyText: '空', • maxLength: 50, • minLength: 10, • value: '第一行\n第二行\n第三行\n第四行' • });

永宏PLC应用指令一览表.docx

永宏PLC应用指令一览表.docx
220
FAtan
浮点数反正切函数运算
(Floating PointarctangentFunction,
tan-1)
比较指令
17
CMP
数值比较(Compare)
37
ZNCMP
区域比较(Zone Compare)
170
=
相等比较指令
171
>
大于比较指令
172
<
小于比较指令
173
<>
不相等比较指令
174
永宏PLC应用指令一览表
分类
FUN
助记符
指令功能
流程控制指令
00
MC
主控回路开始指令
01
MCE
主控终止指令
02
SKP
跳过回路的开始指令
03
SKPE
跳过回路的结束指令
END
程序执行终止点(除错用)
22
BREAK
FOR与NEXT循环的跳出指令
65
LBL
标记(Lable)
66
JMP
跳跃(Jump)
67
CALL
127
MBWR
矩阵位写入(Matrix Bit Write)
128
MBSHF
矩阵位位移(Matrix Bit Shift)
129
MBROT
矩阵位旋转(Matrix Bit Rotate)
130
MBCNT
矩阵位状态数量计算
(Matrix Bit Status Count)
NC定位控制指令
140
HSPSO
32
ADCNV
4~20mA 模拟量输入读值转换指令

php encode和decode的用法

php encode和decode的用法

文章题目:深度解析PHP中的encode和decode的用法在PHP编程中,encode和decode是一个非常重要的概念,它们在数据传输、加密解密以及编码转换等方面都扮演着至关重要的角色。

encode表示将数据转换为另一种格式,而decode则表示将已编码的数据还原为原始形式。

在本篇文章中,我们将深入探讨PHP中encode和decode的用法,以及它们在实际开发中的应用。

1. PHP中的encode和decode概述在PHP中,encode主要用于将数据转换为特定的格式,例如将数据转换为JSON格式、Base64编码、URL编码等。

而decode则用于将已经编码的数据还原为原始格式。

这两个概念在数据传输和存储过程中,起着至关重要的作用。

2. JSON encode和decode的用法在PHP中,可以使用json_encode函数将数组或对象转换为JSON 格式的字符串,而使用json_decode函数可以将JSON格式的字符串还原为原始的数组或对象。

JSON在Web开发中得到了广泛的应用,它是一种轻量级的数据交换格式,具有良好的可读性和可扩展性。

在实际应用中,我们可以通过encode将数据转换成JSON格式,然后在前端页面传输给JavaScript进行解析,或者将数据存储在数据库中。

而在后端,可以通过decode将收到的JSON格式数据还原为PHP可以操作的数组或对象,从而进行进一步的处理。

3. Base64 encode和decode的用法Base64编码是一种常用的编码方式,它可以将二进制数据转换为文本格式,从而方便在文本协议中传输。

在PHP中,可以使用base64_encode函数将数据进行Base64编码,而使用base64_decode函数可以将Base64编码的数据还原为原始的二进制数据。

Base64编码在常见的应用场景中十分常见,例如在图片上传或者数据传输过程中,都可以使用Base64编码来处理数据。

Ext的常用函数

Ext的常用函数

Ext的常用函数EXT为我们提供了许多常用函数和工具,通过这些函数我们可以避免做许多重复的工作。

1.onReady函数onReady函数是Ext提供用来注册HTML内容并加载完成后所需执行的代码,onReady函数有三个参数:第一个参数是必须的,表示HTML加载完成需要执行的函数;init();第二个参数表示函数的作用域;第三个参数表示函数执行的一些其他操作。

2.get函数Ext中包含了几个以get开头的函数,这些函数可以用来获取HTML中的DOM对象,当前HTML中的组件和EXT元素等。

a.Ext.get()函数——用来获取一个Ext元素,也就是说类型为Ext.Element 的对象。

Get函数只有一个参数,但这个参数可以表示多种含义,它可以是DOM 节点的id,也可以是一个Element,或者是一个DOM节点对象。

Ext.onReady(function(){var e = new Ext.Element(“hello”);alert(Ext.get(‘hello’));alert(Ext.get(document.getElementById(“hello”)));alert(ext.get(e));});对应的Html页面中包含一个id为hello的div,代码如下:<div id=’hello’ >hello world</div>上面的实例中,alert(Ext.get(document.getElementById(“hello”))),alert(Ext.get(‘hello’)),alert(ext.get(e)),这三个函数都可以获取一个与DOM节点hello对应的Ext元素。

Get函数可以自动判断参数的类型,最终返回我们需要的结果。

b.Ext.getCmp()函数——用来获得一个Ext组件,也就是一个已经在页面中被初始化了的component或其子类的对象,getCmp函数可以根据指定的id获得对应的onent。

encodeuri解码方法

encodeuri解码方法

encodeuri解码方法encodeURI 和decodeURI 是JavaScript 中两个重要的函数,在编写Web 应用程序时经常用到。

这两个函数主要用于URL 编码和解码,因为URL 中可能包含一些特殊字符。

如果URL 中包含空格、中文字符等不安全的字符,则需要对这些字符进行编码,以便浏览器能够正确理解。

encodeURI 和decodeURI 是URL 编码和解码的两个函数。

1. encodeURI 函数该函数用于编码URI,它会将特殊字符转换成它们的UTF-8 编码。

该函数的语法如下:encodeURI(URIstring)其中`URIstring` 表示要编码的URI 字符串。

该函数返回一个编码后的字符串。

对于encodeURI 函数的使用,需要注意以下几个方面:1. 该函数只对URI 中的某些字符进行编码,不对整个URI 进行编码。

2. 应用程序开发人员应该使用该函数对URI 进行编码,以确保其能够正常工作。

3. 该函数编码的字符包括:英文字母、数字、标点符号、某些保留字符。

4. 该函数不会编码以下字符:字母A-Z, a-z, 数字0-9, '-', '_', '.', '~' 以及某些保留字符。

下面是一个示例:javascriptvar uri = " with spaces.html";var encodedUri = encodeURI(uri);在上述示例中,由于URI 中包含空格,因此需要使用encodeURI 函数对其进行编码,并且将空格转换为`%20`。

2. decodeURI 函数该函数用于解码已编码的URI,恢复原始字符串。

该函数的语法如下:decodeURI(encodedURIstring)其中`encodedURIstring` 表示要解码的已编码URI 字符串。

该函数返回一个解码后的字符串。

EXTJS API详解

EXTJS   API详解

EXT核心API详解1、Ext类....................................... 2 2、Array类 (4)3、Number类................................. 4 4、String类 (4)5、Date类.................................... 5 6、Function类 (6)7、Ext.Element类.............................. 7 8、Ext.DomQuery类 (13)9、Ext.DomHelper类........................ 14 10、Ext.Template类 (14)11、Ext.EventManager类..................15 12、Ext.EventObject类 (15)13、positeElement类............16 14、positeElementLite类 (16)15、Ext.Fx类.................................16 16、Ext.KeyNav类 (19)17、Ext.KeyMap类........................19 18、Ext.util.JSON类 (20)19、Ext.util.Format类.....................20 20、Ext.util.DelayedTask类 (20)21、Ext.util.TaskRunner类...............21 22、Ext.util.TextMetrics类 (21)23、Ext.XTemplate类..................... 21 24、Ext.data.Connection类 (22)25、Ext.Ajax类.............................. 22 26、Ext.data.Record类 (23)27、Ext.data.DataProxy类...............24 28、Ext.data.HttpProxy类 (24)29、Ext.data.MemoryProxy类.........25 30、Ext.data.ScriptTagProxy类 (25)31、Ext.data.DataReader类...............26 32、Ext.data.ArrayReader类 (26)33、Ext.data.JsonReader类............... 26 34、Ext.data.XmlReader类 (27)35、Ext.data.Store类........................28 36、Ext.data.GroupingStore类 (32)37、Ext.data.SimpleStore类............34 38、Ext.data.Tree类 (34)39、Ext.data.Node类.....................34 40、Ext.Action类 (35)41、Ext.Button类........................ 36 42、Ext.SplitButton类 (38)43、Ext.CycleButton类.................. 39 44、Ext.form.BasicForm类 (40)45、Ext.form.Field类........................ 41 46、Ext.form.Checkbox类 (42)47、Ext.form.Radio类.....................43 48、Ext.form.HtmlEditor类 (43)49、Ext.form.TextField类...............44 50、Ext.form.NumberField类 (44)51、Ext.form.TextArea类...............45 52、Ext.form.TriggerField类 (45)53、Ext.form.DateField类............45 54、boBox类 (46)55、Ext.form.TimeField类............47 56、Ext.menu.Menu类 (50)57、Ext.menu.BaseItem类...............50 58、Ext.menu.Adapter类 (51)59、Ext.menu.Item类..................... 51 60、Ext.menu.CheckItem类 (51)61、Ext.menu.Separator类............52 62、Ext.menu.TextItem类 (52)63、Ext.Toolbar类........................ 55 64、Ext.Toolbar.Item类 (56)65、Ext.Toolbar.Separator类......... 56 66、Ext.Toolbar.Spacer类 (56)67、Ext.Toolbar.TextItem类.........56 68、Ext.Toolbar.Fill类 (56)69、Ext.grid.ColumnModel类.........58 70、Ext.grid.PropertyColumnModel类 (59)71、Ext.grid.GridView类............... 59 72、Ext.grid.GroupingView类 (60)73、Ext.grid.EditorGridPanel类.........62 74、Ext.grid.PropertyGrid类 (65)1、Ext类addBehaviors(Object obj) : void对选择的元素应用事件侦听器,事件名以@附加在结尾,例如addBehaviors({// id=foo下所有的a标签加入click事件'#foo a@click' : function(e, t){// do something},// 用,分隔多个选择器'#foo a, #bar span.some-class@mouseover' : function(){// do something}});apply( Object obj, Object config, Object defaults ) : Object从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到objapplyIf( Object obj, Object config ) : Object从config拷贝所有属性至obj(如果obj未定义相应属性)decode(Object obj) : String编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)each( Array/NodeList/Mixed array, Function fn, Object scope ) : void利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope || array[i], array[i], i, array);encode(String json) : Object将一个json格式字符串反序列化为对象escapeRe( String str ) : String为字符串正则编码将.在*+?^${}()|[]/\字符前加\extend( Object subclass, Object superclass, [Object overrides] ) : void从superclass类继承subclass,overrides参数是要重载的方法列表,详见overridefly( String/HTMLElement el, [String named] ) : Element得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突get( Mixed el ) : Element得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象getBody() : Element 得到当前文档的body对象getCmp( String id ) : Component通过id得到一个Component对象getDoc() : Element得到当前文档getDom( Mixed el ) : HTMLElement通过id或节点或Element对象返回一个DOM节点id( [Mixed el], [String prefix] ) : String为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空namespace( String namespace1, String namespace2, String etc ) : void创建一个命名空间,例space('Company', 'Company.data');Company.Widget = function() { ... }Company.data.CustomStore = function(config) { ... }num( Mixed value, Number defaultValue ) : Number将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意onReady( Function fn, Object scope, boolean override ) : void当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择override( Object origclass, Object overrides ) : void利用overrides重写origclass的方法,例Ext.override(MyClass, {newMethod1: function(){// etc.},newMethod2: function(foo){// etc.}});query( String path, [Node root] ) : Array通过path,在root中选择节点数组,path可以是以下四种选择器之一[元素选择器] 例:* 任意节点E 一个E标签元素E F 祖先节点为E的F节点E >F 或E/F 父节点为E的F节点E +F 前一个兄弟节点为E的F节点E ~F 前面的兄弟节点中有E的F节点[属性选择器] 例:E[foo] 有foo属性的E节点E[foo=bar] 有foo属性值为bar的E节点E[foo^=bar] foo属性以bar开始的E节点E[foo$=bar] foo属性以bar结尾的E节点E[foo*=bar] foo属性中有bar字符串的E节点E[foo%=2] foo属性能被2整除的E节点E[foo!=bar] foo属性值不为bar的E节点[伪类选择器] 例:E:first-child E节点是父节点中第一个子节点E:last-child E节点是父节点中最后一个子节点E:nth-child(n) E是父节点中每n个节点E:nth-child(odd) E是父节点中的奇数节点E:nth-child(even) E是父节点中的偶数节点E:only-child E是父节点中惟一的子节点E:checked checked属性为真的节点E:first 子孙节点中的第一个E节点E:last 子孙节点中的最后一个E节点E:nth(n) 子孙节点中的第n个E节点E:odd E:nth-child(odd)的简写E:even E:nth-child(even)的简写E:contains(foo) innerHTML属性中含有foo的E节点E:nodeValue(foo) E节点中包含一个值为foo的文本节点E:not(S) 不匹配简单选择器S的E节点E:has(S) 有能匹配简单选择器S的子节点的E节点E:next(S) 下一个兄弟节匹配简单选择器S的E节点E:prev(S) 前一个兄弟节匹配简单选择器S的E节点type( Mixed object ) : String判断对象类型,如果不是下列值之一将返回false[样式选择器] 例:E{display=none} display属性值为none的E节点E{display^=none} display属性值以none开始的E节点E{display$=none} display属性值以none结束的E节点E{display*=none} display属性值含有none子字串的E节点E{display%=2} display属性值能被2整除的E节点E{display!=none} display属性值不等于none的E节点select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) :CompositeElementLite/CompositeElement在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值urlDecode( String string, [Boolean overwrite] ) : Object将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例Ext.urlDecode("foo=1&bar=2"); //返回{foo: 1, bar: 2}Ext.urlDecode("foo=1&bar=2&bar=3&bar=4"); //返回{foo: 1, bar: 4}.Ext.urlDecode("foo=1&bar=2&bar=3&bar=4", true); //返回{foo: 1, bar: [2, 3, 4]}.urlEncode( Object o ) : String将json对象编码为url格式字符串,参见urlDecodetype( Mixed object ) : String得到object类型,如果不为以下列举值之一则返回false2、Array类indexOf( Object o ) : Numberobject是否在数组中,找不到返回-1;找到返回位置remove( Object o ) : Array从数组中删除指定的对象object,如果找不到object则数组无变化3、Number类constrain( Number min, Number max ) : Number检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值4、String类escape( String string ) : String将string中的'和\替换为\' \\format( String string, String value1, String value2 ) : String格式化字符串,例:var cls = 'my-class', text = 'Some text';var s = String.format('<div class="{0}">{1}</div>', cls, text);// 结果<div class="my-class">Some text</div>leftPad( String string, Number size, [String char] ) : String以char将string补齐为size长度,char默认定义空格toggle( String value, String other ) : String交换值,如果当前值等于value,则被赋值other,反之等于value,例:sort = sort.toggle('ASC', 'DESC');trim() : String去除开头或结尾多余的空格5、Date类Date.parseDate( String input, String format ) : Date将字符串string依指定的格式format转换为时间,其中格式定义详见format方法例:dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" );add( String interval, Number value ) : Date增加时间段,String interval在Data类中已定义LI = "ms";Date.SECOND = "s";Date.MINUTE = "mi";Date.HOUR = "h";Date.DAY = "d";Date.MONTH = "mo";Date.YEAR = "y";例var dt2 = new Date('10/1/2006').add(Date.DAY, -5);between( Date start, Date end ) : Boolean是否在两个指定的时间之间clearTime( Boolean clone ) : Date清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值clone() : Date克隆format( String format ) : String格式化时间d 两位数的日期01 至31D 三字母的星期名Mon 至Sunj 一位数的日期 1 至31l 完整的星期名Sunday 至SaturdayS 日期的英文顺序刻词尾,两个字符st, nd, rd or th.w 一周中的第几天0 (星期天) 至6 (星期六)z 一年中的第几天0 至364 (闰年365 )W ISO-8601 星期数, 周一算一个星期的开始 1 至53F 月的完整英文名January 至Decemberm 月,以0前导01 至12M 三字母的简写月名Jan 至Decn 月 1 至12t 本月有多少天28 至31L 是否闰年1/0Y 完整的年份例: 1999 或2003y 年的后两位例: 99 或03a 上午/下午小写am 或pmA 上午/下午大写AM 或PMg 小时/12小时制 1 至12G 小时/24小时制0 至23h 小时/12小时制01 至12H 小时/24小时制00 至23i 分钟00 至59s 秒00 至59u 毫秒001 至999O 时区,与格林威治标准时间之差例: +0200T 时区简写例: EST, MDT ...Z 时区间距-43200 至50400其中Date类内置了几种格式Date.patterns = {ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate: "n/j/Y",LongDate: "l, F d, Y",FullDateTime: "l, F d, Y g:i:s A",MonthDay: "F d",ShortTime: "g:i A",LongTime: "g:i:s A",SortableDateTime: "Y-m-d\\TH:i:s",UniversalSortableDateTime: "Y-m-d H:i:sO",YearMonth: "F, Y"};当然ISO8601Long和ISO8601Short还是非常招人喜欢的例:dt.format(Date.patterns.ISO8601Long);dt.format('Y-m-d H:i:s');getDayOfYear() : Number一年中的第几天,从0开始getDaysInMonth() : Number本月有多少天,getElapsed( [Date date] ) : Number当前日期对象与date之间相差的毫秒数getFirstDateOfMonth() : Date本月的第一天getFirstDayOfMonth() : Number本月第一天是星期几getGMTOffset() : String时区信息(见格式定义中的'O')getFirstDateOfMonth() : Date本月最后一天getFirstDayOfMonth() : Number本月最后一天是星期几getSuffix() : String日期后导符(见格式定义中的S)getTimezone() : String时区(见T)getWeekOfYear() : Number一年中的第几周(见W)isLeapYear() : Boolean是否闰年6、Function类createCallback(/*args...*/) : Function创建回叫方法createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :创建委托这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegatecreateCallback==>return method.apply(window, args);createDelegate==>return method.apply(obj || window, callArgs);前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用例:var fn = func1.createDelegate(scope, [arg1,arg2], true)//fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);var fn = func1.createDelegate(scope, [arg1,arg2])//fn(a,b,c) === scope.func1(arg1,arg2);var fn = func1.createDelegate(scope, [arg1,arg2], 1)//fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);var fn = func1.createCallback(arg1, arg2);//fn() === func1(arg1, arg2)createCallback : function(/*args...*/)createInterceptor( Function fcn, [Object scope] ) : Function创建阻断方法,如果fcn返回false,原方法将不会被执行createSequence( Function fcn, [Object scope] ) : Function创建组合方法,执行原方法+fcndefer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ):Number定时执行,隔millis毫秒后执行原方法7、Ext.Element类Element( String/HTMLElement element, [Boolean forceNew] )由id或DOM节点创建Element对象Element.fly( String/HTMLElement el, [String named] ) : Element由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突Element.get( Mixed el ) : Element由id或DOM节点或已存在的Element得到一个Ext.Element对象addClass( String/Array className ) : Ext.Element为元素添加一个或多个css类名addClassOnClick( String className ) : Ext.Element为点击事件添加和移除css类addClassOnFocus( String className ) : Ext.Element为得到和失去焦点添加和移除css类addClassOnOver( String className, [Boolean preventFlicker] ) : Ext.Element为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)addKeyListener( Number/Array/Object/String key, Function fn, [Object scope] ) : Ext.KeyMap为对象添加按键侦听key由数值或字符串或{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}这样的对象或他们的数组组成addKeyMap( Object config ) : Ext.KeyMap功能同addKeyListener,只是传参方式不同例:el.addKeyMap({key : "ab",ctrl : true,fn: fn,scope:el });和el.addKeyListener({key:"ab",ctrl:true},fn,el);是等价的,都是在按下ctral+a或ctrl+b后呼叫fnaddListener( String eventName, Function fn, [Object scope], [Object options] ) : void定义事件侦听,eventName:事件名,fn:事件处理方法,scrope:范围,其中options的定义比较复杂,可以包含以下属性scope {Object} : 处理fn的范围delegate {String} : 一个简单选择器(过滤目标或寻找目标的子孙节点)stopEvent {Boolean} : 阻止事件,等于preventDefault+stopPropagationpreventDefault {Boolean} : 阻止默认活动stopPropagation {Boolean} : 阻止事件冒泡normalized {Boolean} :设为flase将允许浏览器事件替代Ext.EventObjectdelay {Number} : 延时多少毫秒后发生single {Boolean} : 只运行一次buffer {Number} : 在Ext.util.DelayedTask中预定事件当然,还可能自定义参数以传入functionalignTo( Mixed element, String position, [Array offsets], [Boolean/Object animate] ) : Ext.Element将el对齐到element,positon,指示对齐的位置,可选以下定义tl 左上角(默认)t 上居中tr 右上角l 左边界的中央c 居中r 右边界的中央bl 左下角b 下居中br 右下角position还可以使用?约束移动不能超出窗口offsets 偏移量,以象素为单位animate 详见animate定义例:div1.alignTo('div2','c-bl?',[20,0],true);采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口anchorTo( Mixed element, String position, [Array offsets], [Boolean/Object animate], [Boolean/Number monitorScroll], Function callback ) : Ext.Element功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms, callback定义了animate完成后的回叫方法animate( Object args, [Float duration], [Function onComplete], [String easing], [String animType] ) : Ext.Element 执行动画.args:目标duration:时间间隔.默认是0.35Function:完成后的回叫方法easing:行为方法默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速easeIn:开始慢且加速easeOut:开始快且减速easeBoth:开始慢且减速easeInStrong:开始慢且加速,t的四次方easeOutStrong:开始快且减速,t的四次方easeBothStrong:开始慢且减速,t的四次方elasticIn:elasticOut:elasticBoth:backIn:backOut:backBoth:bounceIn:bounceOut:bounceBoth:太多,慢慢体会吧animType:定义动画类型,默认值run 可选值:color/motion/scrollappendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element添加子元素el(el须已存在)appendTo( Mixed el ) : Ext.Element将当前元素添加到elapplyStyles( String/Object/Function styles ) : Ext.Element应用样式,styles是"width:100px"这样的字符串或{width:"100px"}这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyle autoHeight( [Boolean animate], [Float duration], [Function onComplete], [String easing] ) : Ext.Element自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更blur() : Ext.Element失去焦点,忽略所有的异常boxWrap( [String class] ) : Ext.Element用一个指定样式class的div将当前元素包含起来,class默认值为x-boxcenter( [Mixed centerIn] ) : voidalignTo的简华版.相当于alignTo(centerIn || document, 'c-c'),当前元素的中心对齐到centerIn元素的中心child( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Elementclean( [Boolean forceReclean] ) : void清除无用的空白文本节点(我喜欢这个想法)clearOpacity() : Ext.Element清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacity clearPositioning( [String value] ) : Ext.Element清除定位,恢复到默认值,相当于this.setStyle({"left": value,"right": value,"top": value,"bottom": value,"z-index": "","position" : "static"});clip() : Ext.Element裁剪溢出部分,用unclip()恢复contains( HTMLElement/String el ) : Boolean当前元素中是否存在elcreateChild( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.Element创建一个新的子节点config :DomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加createProxy( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.Element创建一个代理元素config:代理元素的类名或DomHelper config对象renderTo:将要绘制代理元素的html element或idmatchBox:是否对齐createShim() : Ext.Element在当前元素之前创建一个classname为ext-shim的iframe,有什么用?down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element通过样式选择器selector选择子孙节点enableDisplayMode( [String display] ) : Ext.ElementsetVisibilityMode的简便方法findParent( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement通过简单选择器selector寻找祖先节点,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回nullfindParentNode( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement从父元素开始使用简单选择器selector选择DOM节点first( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement得到第一个符合selector条件的子节点,跳过文本节点focus() : Ext.Element得到焦点getAlignToXY( Mixed element, String position, [Array offsets] ) : Array得到当前元素按position规则对齐到element时的XY坐标值position/offsets参数参见alignTo方法getAnchorXY( [String anchor], [Object size], [Boolean local] ) : Array得到当前元素锚点指定的坐标值anchor定义参见alignTo方法,默认为cgetAttributeNS( String namespace, String name ) : String得到使用了命名空间namespace的属性name之值,getBorderWidth( String side ) : Number得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth("lr")就是得到左边框和右边框之和getBottom( Boolean local ) : Number得到当前元素的底部纵坐标,元素纵坐标+元素高度getBox( [Boolean contentBox], [Boolean local] ) : Object得到当前元素的box对象:{x,y,width,height} getCenterXY() : Array如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')getColor( String attr, String defaultValue, [String prefix] ) : void得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串getComputedHeight() : Number得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去getComputedWidth() : Number见getComputedHeightgetFrameWidth( String sides ) : Number得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidthgetHeight( [Boolean contentHeight] ) : Number返回元素的offsetHeightgetLeft( Boolean local ) : Number得到横坐标getMargins( [String sides] ) : Object/Number如果没有定义sides,则返回一个含有{left,top,width,height}对象,反之返回side指定的宽度,side定义见getBorderWidthgetOffsetsTo( Mixed element ) : Array计算从element到当前元素的偏移量getPadding( String side ) : Number得到由side指定的padding之和getPositioning() : Object得到当前元素的位置信息返回含以下属性的对象{position,left,right,top,bottom,z-index}getRegion() : Region得到当前元素的区域信息返回含有以下属性的Ext.lib.Region对象{top, left, bottom, right}getRight( Boolean local ) : Number右边界值getScroll() : Object得到一个批示滚动条位置的对象{left, top}getSize( [Boolean contentSize] ) : Object得到宽度和高度组成的对象信息{width,height}getStyle( String property ) : String得到指定的样式值getStyles简化版getStyles( String style1, String style2, String etc. ) : Object得到由参数组成的对象例:el.getStyles('color', 'font-size', 'width')可能返回{'color': '#FFFFFF', 'font-size': '13px', 'width': '100px'}getTop( Boolean local ) : Number得到顶点纵坐标getUpdater() : Ext.Updater得到当前元素的Updater对象,参见Ext.Updater类getValue( Boolean asNumber ) : String/Number得到value属性的值getViewSize() : Object得到clientHeight和clientWidth信息给成的对象{width,height}getWidth( [Boolean contentWidth] ) : Number..这样的方法真多getX() : Number 得到页面偏移量,也就是绝对坐标getXY() : ArraygetY() : ArrayhasClass( String className ) : Boolean样式类className 存在于当前元素的dom 节点中hide( [Boolean/Object animate] ) : Ext.Element隐藏当前元素hover( Function overFn, Function outFn, [Object scope] ) : Ext.Element设置鼠标移入移出事件initDD( String group, Object config, Object overrides ) : Ext.dd.DDinitDDProxy( String group, Object config, Object overrides ) : Ext.dd.DDProxyinitDDTarget( String group, Object config, Object overrides ) : Ext.dd.DDTarget这个要放到Ext.dd去专门搞了,用于拖曳insertAfter( Mixed el ) : Ext.ElementinsertBefore( Mixed el ) : Ext.ElementinsertFirst( Mixed/Object el ) : Ext.Element在DOM中el元素之前之后...插入当前元素insertHtml( String where, String html, Boolean returnEl )插入html内容where 可选beforeBegin, afterBegin, beforeEnd, afterEndinsertSibling( Mixed/Object/Array el, [String where], [Boolean returnDom] ) :插入或创建el做为当前元素的兄弟节点,where可选before/after,默认为beforeis( String selector ) : Boolean验证当前节点是否匹配简单选择器selectorisBorderBox()测试不同的样式规则以决定当前元素是否使用一个有边框的盒子isDisplayed() : Boolean只要不是指定display属性none都会返回真isMasked() : Boolean仅有当前元素有mask并且可见时为真,mask译为蒙片?就是有些输入框没得到值之前会有一行模糊的提示的那种东西isScrollable() : Boolean可以滚动?isVisible( [Boolean deep] ) : Boolean可见?last( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement见firstload( String/Function url, [String/Object params], [Function callback], [Boolean discardUrl] ) : Ext.Element直接应用当前updater的update方法mask( [String msg], [String msgCls] ) : Element为当前对象创建蒙片move( String direction, Number distance, [Boolean/Object animate] ) : Ext.Element相前元素相对于当前位置移动,direction批示方向可能的值是"l","left" - "r","right" - "t","top","up" - "b","bottom","down".distance,指示要移动的距离,以像素为单位moveTo( Number x, Number y, [Boolean/Object animate] ) : Ext.Element称动到指定的位置next( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement下一个符合selector的兄弟节点,on( String eventName, Function fn, [Object scope], [Object options] ) : void详见addListenerposition( [String pos], [Number zIndex], [Number x], [Number y] ) : void初始化当前元素的位置pos可选择relative/absolute/fixedprev( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement前一个符合selector的兄弟节点query( String selector ) : Array通过样式选择器选择子节点radioClass( String/Array className ) : Ext.Element添加样式或样式数组到当前元素,并移除兄弟节点中的指定样式relayEvent( String eventName, Object object ) : void将当前元素的eventName事件同时转发给object对象remove() : void从当前DOM中删除元素,并从缓存中移除removeAllListeners() : Ext.Element移除所有的侦听者removeClass( String/Array className ) : Ext.Element移除样式类removeListener( String eventName, Function fn ) : Ext.Element移除事件eventName的fn侦听器repaint() : Ext.Element强制浏览器重绘当前元素replace( Mixed el ) : Ext.Element用当前元素替换elreplaceClass( String oldClassName, String newClassName ) : Ext.Element替换样式类replaceWith( Mixed/Object el ) : Ext.Element用el替换当前元素scroll( String direction, Number distance, [Boolean/Object animate] ) : Boolean滚动,scroll会保证元素不会越界,direction和distance参数见movescrollIntoView( [Mixed container], [Boolean hscroll] ) : Ext.Element滚动到container内的视图scrollTo( String side, Number value, [Boolean/Object animate] ) : Element基本与scroll方法相同,但不保证元素不越界select( String selector, [Boolean unique] ) :与query不同的是,通过样式选择器selector,select方法会返回一个复合元素对象(CompositeElement)或CompositeElementLite,set( Object o, [Boolean useSet] ) : Ext.Element设置属性,例el.set({width:'200px',height:'200px'});setBottom( String bottom ) : Ext.ElementsetLeft( String left ) : Ext.ElementsetRight( String right ) : Ext.ElementsetTop( String top ) : Ext.ElementsetLeftTop( String left, String top ) : Ext.Element设置css 对象的属性值setBounds( Number x, Number y, Number width, Number height, [Boolean/Object animate] ) : Ext.Element马上改变当前元素的位置和尺寸setBox( Object box, [Boolean adjust], [Boolean/Object animate] ) : Ext.Element为当前元素设置一个盒子box:{x, y, width, height},adjust指示是否马上调整尺寸setDisplayed( Boolean value ) : Ext.Element设置可见性setHeight( Number height, [Boolean/Object animate] ) : Ext.ElementsetWidth( Number width, [Boolean/Object animate] ) : Ext.ElementsetSize( Number width, Number height, [Boolean/Object animate] ) : Ext.Element设置高度和宽度setLocation( Number x, Number y, [Boolean/Object animate] ) : Ext.Element设置当前元素相对于页面的横纵坐标setOpacity( Float opacity, [Boolean/Object animate] ) : Ext.Element设置透明度,opacity为1完全不透明,0完全透明setPositioning( Object posCfg ) : Ext.Element为当前元素指定位置信息,参数posCfg参见getPositioning说明setRegion( Ext.lib.Region region, [Boolean/Object animate] ) : Ext.Element为当前元素指定区域信息region定义见getRegionsetStyle( String/Object property, [String value] ) : Ext.Element设置样式setVisibilityMode( visMode Element.VISIBILITY ) : Ext.Element指示是使用Element.VISIBILITY还是Element.DISPLAY属性来定义可见性setVisible( Boolean visible, [Boolean/Object animate] ) : Ext.Element设置可见性setX( Number The, [Boolean/Object animate] ) : Ext.ElementsetXY( Array pos, [Boolean/Object animate] ) : Ext.ElementsetY( Number The, [Boolean/Object animate] ) : Ext.Element设置当前元素相对于page的位置show( [Boolean/Object animate] ) : Ext.Element显示当前元素swallowEvent( String eventName, [Boolean preventDefault] ) : Ext.Element阻止eventName事件冒泡,并视preventDefault阻断默认行为toggle( [Boolean/Object animate] ) : Ext.Element切换元素的visibility 或display属性,依赖于setVisibilityMode 设定的toggleClass( String className ) : Ext.Element如果样式名存在于当前元素对应的dom 节点,移除,反之应用translatePoints( Number/Array x, Number y ) : Object返回一个{left,top}结构un( String eventName, Function fn ) : Ext.Element解除事件侦听,参见removeListenerunclip() : Ext.Element见clip;unmask() : void见mask;unselectable(): Ext.Element禁止文本选择up( String selector, [Number/Mixed maxDepth] ) : Ext.Element通过样式选择器selector选择祖先节点update( String html, [Boolean loadScripts], Function callback ) : Ext.Element利用html更新当前节点内容,loadScripts指示html中如果有script,是否需要运行,这是一个innerHTML的一个老老老问题了wrap( [Object config], [Boolean returnDom] ) : HTMLElement/Element用另一个元素config包含自己8、Ext.DomQuery类selector语法详见Ext类compile( String selector, [String type] ) : Function编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一filter( Array el, String selector, Boolean nonMatches ) : Array过滤el中的元素,保留符合selector的,如果nonMatches为真,结果相反is( String/HTMLElement/Array el, String selector ) : Boolean验证el是否匹配selectorselect( String selector, [Node root] ) : Array从root中选择匹配selector的对象数组selectNode( String selector, [Node root] ) : Element返回root中第一个匹配selector的对象selectNumber( String selector, [Node root], Number defaultValue ) : Number返回root中第一个匹配selector的对象的节点值,转换为整数或浮点数selectValue( String selector, [Node root], String defaultV alue ) : void返回root中第一个匹配selector的对象的节点值,如果为null,用默认值defaultValue代替9、Ext.DomHelper类append( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM元素并添加到el参数o 是一个DOM对象或一个原始html块applyStyles( String/HTMLElement el, String/Object/Function styles ) : void应用样式styles到对象el,样式的对象表示方法见Ext.ElementcreateTemplate( Object o ) : Ext.Template由o创建一个新的Ext.Template对象,详见Ext.TemplateinsertAfter( Mixed el, Object o, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM对象o并将他们挺入在el之后/之前insertFirst( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素并做为第一个子节点添加到el (看了这个insertFirst,建议将append取一个别名insertLast:))insertHtml( String where, HTMLElement el, String html ) : HTMLElementwhere 可选值beforeBegin/afterBegin/beforeEnd/afterEnd将html代码插入到el附近,markup( Object o ) : String返回DOM对象o对应的html代码overwrite( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素o并用它重写el的内容10、Ext.Template类Template类主要是功能是生产html片断,例var t = new Ext.Template('<div name="{id}">','<span class="{cls}">{name:trim} {value:ellipsis(10)}</span>','</div>');t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'});公用方法:Template( String/Array html )构造一个Ext.Template对象,参数可以是字符串形式的html代码或它们组成的数组,Template.from( String/HTMLElement el, Object config ) : Ext.Template能过el的value(优先)或innerHTML来构造模板append( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertAfter( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertFirst( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element这组方法提供由value产生的html 代码,并添加到dom 做为el的最后一个子节点/下一个兄弟节点/前一个兄弟节点/第一个子节点values解释参见applyTemplateapply() : voidapplyTemplate( Object values ) : Stringapply是applyTemplate的简写,如果参数是数字values可以是一个数组,或者一个象{id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}这样的json对象compile() : Ext.Template编译模板,替换掉模板中的\=>\\ ,\r\n|\n==>\\n, '=\',主要是为了js自己处理方便。

基础篇(3):ExtJs 核心函数简介

基础篇(3):ExtJs 核心函数简介


Ext中包含了几个以get开头的方法,这些方法可以用来得 到文档中DOM、得到当前文档中的组件、得到Ext元素等, 在使用中要注意区别使用 1、get方法 get方法用来得到一个Ext元素,也就是类型为 Ext.Element的对象,Ext.Element类是Ext对DOM的封装,代 表DOM的元素,可以为每一个DOM创建一个对应的Element 对象,可以通过Element对象上的方法来实现对DOM指定的 操作,比如用hide方法可以隐藏元素、initDD方法可以让指 定的DOM具有拖放特性等。get方法其实是Ext.Element.get的 简写形式。 get方法中只有一个参数,这个参数是混合参数,可以是 DOM节点的id、也可以是一个Element、或者是一个DOM节 点对象等。看下面的示例代码:
encode函数和decode函数 Ext中有两个很重要的方法,一个是decode;一个是 encode.顾名思义,一个是编码,一个是解码,你难道真 的这么想吗? 严格的说,一个是将json字符串转换成对象;一个 是将对象转换成json字符串. 注: Ext.decode()和Ext.encode()分别是是 Ext.util.JSON.decode()和Ext.util.JSON.encode的简写


Ext.onReady(function(){ var e=new Ext.Element(“oa"); alert(Ext.get(“oa")); alert(Ext.get(document.getElementById(“oa"))); alert(Ext.get(e)); }); Html页面中包含一个id为oa的div,代码如下: <div id=“oa">myoffice</div> Ext.get(“oa")、Ext.get(document.getElementById(“oa"))、 Ext.get(e)等三个方法都可以得到一个与DOM节点hello对应 的Ext元素。

EasyASP 基本设置

EasyASP 基本设置

方法 取分隔符字符串的两头 方法 截取长字符串左边部分并以特殊符号代替 方法 正则替换 方法 正则替换多行模式 方法 替换正则表达式编组 方法 正则匹配捕获 方法 返回正则验证结果 方法 正则表达式特殊字符转义 方法 将 HTML 代码转换为文本实体 方法 将 HTML 文本转换为 HTML 代码 方法 过滤 HTML 标签 方法 仅格式化 HTML 文本中的空格和换行 方法 过滤 HTML 文本为可输出显示的内容,防止 XSS 攻击 方法 将对象转换为字符串 方法 处理字符串中的 Javascript 特殊字符,中文使用 \uxxxx 的形式
方法 验证不能为空 方法 验证内置规则或正则表达式 方法 验证日期 方法 验证日期区间 方法 验证最小日期 方法 验证最大日期 方法 验证数值 方法 验证数值区间 方法 验证最小数值 方法 验证最大数值 方法 验证长度 方法 验证长度区间 方法 验证最小长度
4 / 17
Validation.MaxLength Validation.Same Validation.SamePost Validation.SameSession
方法 获取脚本执行时间(秒) 方法 获取以某个时间戳为开始的脚本执行时间(秒) 方法 设置一个 Cookies 值 方法 获取一个 Cookies 值 方法 删除一个 Cookies 值 方法 设置 Application 方法 获取 Application 方法 删除 Application 方法 删除所有 Application 方法 检测组件是否安装 方法 动态包含文件 方法 得到动态包含文件运行的结果 方法 读取包含文件内容(无限级) 方法 将文本内容转换为 ASP 代码 方法 加载和使用符合 EasyASP 标准的插件 方法 将对象或者数组转换为 Json 字符串 方法 将 Json 字符串解析为对象或者数组 方法 验证 Url 参数值是否合法 方法 验证表单值是否合法 方法 验证超级变量值是否合法

HTMlEncode和HTMLDecode、UrlEncode和UrlDecode定义和用法

HTMlEncode和HTMLDecode、UrlEncode和UrlDecode定义和用法

HTMlEncode和HTMLDecode、UrlEncode和UrlDecode定义和用法HTMlEncode和HTMLDecode1.HTMLEncode函数:除了server.htmlencode的所有功能以外,还有转化回车和空格的功能,可以将textarea中输入的文本按照原样在html中显示代码如下:function HTMLEncode(fString)fString = replace(fString, ">", ">")fString = replace(fString, "<", "<")fString = Replace(fString, CHR(32), " ")fString = Replace(fString, CHR(34), """)fString = Replace(fString, CHR(39), "'")fString = Replace(fString, CHR(13), "")fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")fString = Replace(fString, CHR(10), "<BR>")HTMLEncode = fStringend function2.HTMLDecode函数:就是HTMLEncode函数的反函数,将html中的字符按照原样在textarea中显示,在修改信息时很有用代码如下:function HTMLDecode(fString)fString = replace(fString, ">", ">")fString = replace(fString, "<", "<")fString = Replace(fString," ",chr(32))fString = Replace(fString,""",chr(34))fString = Replace(fString,"'",chr(39))fString = Replace(fString, "", CHR(13))fString = Replace(fString, "</P><P>", CHR(10) & CHR(10))fString = Replace(fString, "<BR>", CHR(10))HTMLDecode = fStringend functionUrlEncode和 UrlDecode首先先来说一下为什么要urlencode1.为了正常获取值字符特殊字符的含义 URL编码# 用来标志特定的文档位置 %23% 对特殊字符进行编码 %25& 分隔不同的变量值对 %26+ 在变量值中表示空格 %2B\ 表示目录路径 %2F= 用来连接键和值 %3D表示查询字符串的开始 %3F当url中含有以上列表中的一些字符时就无法准确的接收其中的值。

js htmlencode方法

js htmlencode方法

JS中的htmlencode方法主要用于将HTML页面中的特殊字符进行转义,以防止XSS攻击和避免页面解析出错。

本文将对htmlencode方法的原理、用法和实际应用进行详细介绍,帮助读者理解和掌握该方法的使用。

一、htmlencode方法的原理htmlencode方法的原理是将HTML页面中的特殊字符转换为它们对应的实体字符,如<转换为lt; >转换为gt; 转换为amp; "转换为quot;等。

这样做的目的是为了避免这些特殊字符被解析为HTML代码,从而引发XSS攻击或页面解析错误。

二、htmlencode方法的用法在JS中,可以使用如下函数来实现htmlencode方法:``` javascriptfunction htmlencode(str){var div = document.createElement('div');div.appendChild(document.createTextNode(str));return div.innerHTML;}```该函数接受一个字符串作为参数,然后创建一个div元素,并将字符串作为文本节点添加到div中,最后返回div的innerHTML,即转义后的字符串。

三、htmlencode方法的实际应用htmlencode方法通常用于用户输入的文本或动态生成的内容中,例如表单提交的数据、ajax获取的数据、后端动态生成的内容等。

通过对这些内容进行htmlencode转义,可以有效防范XSS攻击,并确保页面正常解析。

下面是一个实际的应用场景:假设有一个留言板功能,用户可以在留言板中输入文本并提交到后端服务器,服务器将用户的留言内容保存到数据库,并在页面上显示出来。

这时,如果用户在留言中插入了一段恶意脚本代码,那么在页面解析时就有可能引发XSS攻击。

为了避免这种情况发生,可以在后端将用户输入的留言内容进行htmlencode转义,然后再保存到数据库中,这样就可以防止恶意脚本被解析并执行。

decode,encode的用法

decode,encode的用法

decode,encode的⽤法python内部的字符串⼀般都是 Unicode编码。

代码中字符串的默认编码与代码⽂件本⾝的编码是⼀致的。

所以要做⼀些编码转换通常是要以Unicode作为中间编码进⾏转换的,即先将其他编码的字符串解码(decode)成 Unicode,再从 Unicode编码(encode)成另⼀种编码。

decode 的作⽤是将其他编码的字符串转换成 Unicode 编码,eg name.decode(“GB2312”),表⽰将GB2312编码的字符串name转换成Unicode编码encode 的作⽤是将Unicode编码转换成其他编码的字符串,eg name.encode(”GB2312“),表⽰将unicode编码的字符串name转换成GB2312编码所以在进⾏编码转换的时候必须先知道 name 是那种编码,然后 decode 成 Unicode 编码,最后载 encode 成需要编码的编码。

当然了,如果 name 已经就是 Unicode 编码了,那么就不需要进⾏ decode 进⾏解码转换了,直接⽤ encode 就可以编码成你所需要的编码。

值得注意的是:对 Unicode 进⾏编码和对 str 进⾏编码都是错误的。

eg:由于内置函数 open() 打开⽂件时,read() 读取的是 str,读取后需要使⽤正确的编码格式进⾏ decode()。

write() 写⼊时,如果参数是Unicode,则需要使⽤你希望写⼊的编码进⾏ encode(),如果是其他编码格式的 str,则需要先⽤该 str 的编码进⾏ decode(),转成 Unicode 后再使⽤写⼊的编码进⾏ encode()。

如果直接将 Unicode 作为参数传⼊ write() ,python 将先使⽤源代码⽂件声明的字符编码进⾏编码然后写⼊。

例1. # coding: UTF-82.3. fp1 = open('test.txt', 'r')4. info1 = fp1.read()5. # 已知是 GBK 编码,解码成 Unicode6. tmp = info1.decode('GBK')7.8. fp2 = open('test.txt', 'w')9. # 编码成 UTF-8 编码的 str10. info2 = tmp.encode('UTF-8')11. fp2.write(info2)12. fp2.close()13. 先知道info1是字符串,其编码为GBK,将其解码成unicode.存在tmp中。

php中json_decode()和json_encode()的使用方法

php中json_decode()和json_encode()的使用方法

php中json_decode()和json_encode()的使⽤⽅法1.json_decode()json_decode(PHP 5 >= 5.2.0, PECL json >= 1.2.0)json_decode — 对 JSON 格式的字符串进⾏编码说明mixed json_decode ( string $json [, bool $assoc ] )接受⼀个 JSON 格式的字符串并且把它转换为 PHP 变量参数json待解码的 json string 格式的字符串。

assoc当该参数为 TRUE 时,将返回 array ⽽⾮ object 。

返回值Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.范例Example #1 json_decode() 的例⼦复制代码代码如下:<?php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';var_dump(json_decode($json));var_dump(json_decode($json, true));>上例将输出:复制代码代码如下:object(stdClass)#1 (5) {["a"] => int(1)["b"] => int(2)["c"] => int(3)["d"] => int(4)["e"] => int(5)}array(5) {["a"] => int(1)["b"] => int(2)["c"] => int(3)["d"] => int(4)["e"] => int(5)}复制代码代码如下:$data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}, {"Name":"a1","Number":"123","Contno":"000","QQNo":""}]';echo json_decode($data);结果为:复制代码代码如下:Array ( [0] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) )可以看出经过json_decode()编译出来的是对象,现在输出json_decode($data,true)试下复制代码代码如下:echo json_decode($data,true);结果:复制代码代码如下:Array ( [0] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) )可以看出 json_decode($data,true)输出的⼀个关联数组,由此可知json_decode($data)输出的是对象,⽽json_decode("$arr",true)是把它强制⽣成PHP关联数组.2.json_encode()json_encode(PHP 5 >= 5.2.0, PECL json >= 1.2.0)json_encode — 对变量进⾏ JSON 编码Report a bug 说明string json_encode ( mixed $value [, int $options = 0 ] )返回 value 值的 JSON 形式Report a bug 参数value待编码的 value ,除了resource 类型之外,可以为任何数据类型该函数只能接受 UTF-8 编码的数据options由以下常量组成的⼆进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS,JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.Report a bug 返回值编码成功则返回⼀个以 JSON 形式表⽰的 string 或者在失败时返回 FALSE 。

军事 武器中英文翻译

军事 武器中英文翻译

1.武器中英文名字对照,来自百度冲锋枪(Submachine gun)Uzi(再次回归)Spectre(幽灵冲锋枪)Scorpion(蝎式冲锋枪,同样回归)Mac11(想必都很熟悉吧)PM63(波兰枪)MPL (瓦尔特公司的名枪)MP5K(不多解释了)Ak74su(传说中的神器啊)步枪(Rifle)Ak47(这个也不多说了)AUG(终于回归步枪)CAR15(以色列曾经的制式步枪)Enfield XL64 (恩菲尔德系列的步枪,英国SA80枪族中的佼佼者)FN FAL(回归)FAMAS(变了样子且连发)G11(样子很后现代,三连发,首支无壳弹步枪)M16(1950年制造,越南战争进行了一次很成功的实战测试)Galil(以色列的制式步枪)M14(回归)霰弹枪(Shotgun)HS10(样子很奇怪的枪)Ithaca 37(求生之路2玩过吧,黑色的单喷)奥林匹亚(Olympia)(爷爷级火枪)Spas-12(从手拉式泵动变成了半自动,样子也变了,折叠托收了回去,游戏里出现附加火焰子弹版)KS23(俄罗斯的喷子,现在被改用为特种卡宾枪)机枪(Machinegun)M60(回归)Death machine(M134,minini gun,杀人机器)(999发子弹,手持转轮机枪,只能在补给箱或赌注比赛中使用)HK21(G3的机枪型号)RPK (玩过CF的都知道吧)狙击枪 (Sniper Rifle)L96A1(BF里的解锁枪)SVD(德拉贡诺夫,而且本次的狙击镜也回归正常)WA2000(从MW2中回归)PSG-1(CF的连狙)手枪(Pistol)ASP(有点像USP45)CZ75(捷克枪)M1911(勃朗宁的神作)Makarov(苏制PM 9毫米手枪)Python(蟒蛇左轮)发射器 (Launch)中国湖(China Lake)(泵动式榴弹发射器,只是在美国一个军事实验基地“中国湖”研发的,和中国没关系)XM191(Grim Reaper)(四联装火箭筒。

Ext中文学习文档

Ext中文学习文档

addBehaviors( Object obj ) : void 对选择的元素应用事件侦听器,事件名以@附加在结尾,例如addBehaviors({// id=foo下所有的a标签加入click事件'#foo a@click' : function(e, t){ // do something }, // 用,分隔多个选择器'#foo a, #bar span.some-class@mouseover' : function(){ // do something }});apply( Object obj, Object config, Object defaults ) : Object从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到objapplyIf( Object obj, Object config ) : Object从config拷贝所有属性至obj(如果obj未定义相应属性)decode(Object obj) : String编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)each( Array/NodeList/Mixed array, Function fn, Object scope ) : void利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope || array[i], array[i], i, array);encode(String json) : Object将一个json格式字符串反序列化为对象escapeRe( String str ) : String为字符串正则编码将.在*+?^${}()|[]/\字符前加\extend( Object subclass, Object superclass, [Object overrides] ) : void从superclass类继承subclass,overrides参数是要重载的方法列表,详见overridefly( String/HTMLElement el, [String named] ) : Element得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突get( Mixed el ) : Element得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象getBody() : Element得到当前文档的body对象getCmp( String id ) : Component通过id得到一个Component对象getDoc() : Element得到当前文档getDom( Mixed el ) : HTMLElement通过id或节点或Element对象返回一个DOM节点id( [Mixed el], [String prefix] ) : String为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空namespace( String namespace1, String namespace2, String etc ) : void创建一个命名空间,例space('Company', 'Company.data');Company.Widget = function() { ... }Company.data.CustomStore = function(config) { ... }num( Mixed value, Number defaultValue ) : Number将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意onReady( Function fn, Object scope, boolean override ) : void当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择override( Object origclass, Object overrides ) : void利用overrides重写origclass的方法,例newMethod1: function(){ // etc. },newMethod2: function(foo){ // etc. }});query( String path, [Node root] ) : Array通过path,在root中选择节点数组,path可以是以下四种选择器之一[元素选择器] 例:* 任意节点 E 一个E标签元素 E F 祖先节点为E的F节点 E > F 或 E/F 父节点为E的F节点E +F 前一个兄弟节点为E的F节点 E ~ F 前面的兄弟节点中有E的F节点[属性选择器] 例: E[foo] 有foo属性的E节点 E[foo=bar] 有foo属性值为bar的E节点E[foo^=bar] foo属性以bar开始的E节点 E[foo$=bar] foo属性以bar结尾的E节点E[foo*=bar] foo属性中有bar字符串的E节点 E[foo%=2] foo属性能被2整除的E节点E[foo!=bar] foo属性值不为bar的E节点[伪类选择器] 例:E:first-child E节点是父节点中第一个子节点 E:last-child E节点是父节点中最后一个子节点E:nth-child(n) E是父节点中每n个节点 E:nth-child(odd) E是父节点中的奇数节点E:nth-child(even) E是父节点中的偶数节点 E:only-child E是父节点中惟一的子节点E:checked checked属性为真的节点 E:first 子孙节点中的第一个E节点E:last 子孙节点中的最后一个E节点 E:nth(n) 子孙节点中的第n个E节点E:odd E:nth-child(odd)的简写 E:even E:nth-child(even)的简写E:contains(foo) innerHTML属性中含有foo的E节点 E:nodeValue(foo) E节点中包含一个值为foo的文本节点E:not(S) 不匹配简单选择器S的E节点 E:has(S) 有能匹配简单选择器S的子节点的E节点E:next(S) 下一个兄弟节匹配简单选择器S的E节点 E:prev(S) 前一个兄弟节匹配简单选择器S的E节点type( Mixed object ) : String 判断对象类型,如果不是下列值之一将返回false[样式选择器] 例:E{display=none} display属性值为none的E节点 E{display^=none} display属性值以none开始的E节点E{display$=none} display属性值以none结束的E节点 E{display*=none} display属性值含有none子字串的E节点E{display%=2} display属性值能被2整除的E节点 E{display!=none} display属性值不等于none的E节点select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) :CompositeElementLite/CompositeElement 在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值urlDecode( String string, [Boolean overwrite] ) : Object将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例Ext.urlDecode("foo=1&bar=2"); //返回 {foo: 1, bar: 2}Ext.urlDecode("foo=1&bar=2&bar=3&bar=4"); //返回 {foo: 1, bar: 4}.Ext.urlDecode("foo=1&bar=2&bar=3&bar=4", true); //返回 {foo: 1, bar: [2, 3, 4]}.urlEncode( Object o ) : String将json对象编码为url格式字符串,参见urlDecodetype( Mixed object ) : String得到object类型,如果不为以下列举值之一则返回falseArray类indexOf( Object o ) : Numberobject是否在数组中,找不到返回-1;找到返回位置remove( Object o ) : Array从数组中删除指定的对象object,如果找不到object则数组无变化Number类constrain( Number min, Number max ) : Number检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值String类escape( String string ) : String 将string中的'和\替换为\' \\format( String string, String value1, String value2 ) : String格式化字符串,例:var cls = 'my-class', text = 'Some text';var s = String.format('<div class="{0}">{1}</div>', cls, text);// 结果 <div class="my-class">Some text</div> leftPad( String string, Number size, [String char] ) : Stringtoggle( String value, String other ) : String交换值,如果当前值等于value,则被赋值other,反之等于value,例:sort = sort.toggle('ASC', 'DESC');trim() : String 去除开头或结尾多余的空格Date类Date.parseDate( String input, String format ) : Date将字符串string依指定的格式format转换为时间,其中格式定义详见format方法例:dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" );add( String interval, Number value ) : Date增加时间段,String interval在Data类中已定义LI = "ms"; Date.SECOND = "s"; Date.MINUTE = "mi"; Date.HOUR = "h"; Date.DAY = "d";Date.MONTH = "mo"; Date.YEAR = "y"; 例var dt2 = new Date('10/1/2006').add(Date.DAY, -5);between( Date start, Date end ) : Boolean 是否在两个指定的时间之间clearTime( Boolean clone ) : Date清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值clone() : Date 克隆format( String format ) : String格式化时间d 两位数的日期 01 至 31 D 三字母的星期名 Mon 至 Sunj 一位数的日期 1 至 31 l 完整的星期名 Sunday 至 SaturdayS 日期的英文顺序刻词尾,两个字符 st, nd, rd or th.w 一周中的第几天 0 (星期天) 至 6 (星期六) z 一年中的第几天 0 至 364 (闰年365 ) W ISO-8601 星期数, 周一算一个星期的开始 1 至 53F 月的完整英文名 January 至 December m 月,以0前导 01 至 12M 三字母的简写月名 Jan 至 Dec n 月 1 至 12t 本月有多少天 28 至 31 L 是否闰年 1/0Y 完整的年份例: 1999 或 2003 y 年的后两位例: 99 或 03a 上午/下午小写 am 或 pm A 上午/下午大写 AM 或 PMg 小时/12小时制 1 至 12 G 小时/24小时制 0 至 23h 小时/12小时制 01 至 12 H 小时/24小时制 00 至 23i 分钟 00 至 59 s 秒 00 至 59u 毫秒 001 至 999 O 时区,与格林威治标准时间之差例: +0200T 时区简写例: EST, MDT ... Z 时区间距 -43200 至 50400其中Date类内置了几种格式Date.patterns = {ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", ShortDate: "n/j/Y", LongDate: "l, F d, Y",FullDateTime: "l, F d, Y g:i:s A", MonthDay: "F d", ShortTime: "g:i A", LongTime: "g:i:s A",SortableDateTime: "Y-m-d\\TH:i:s", UniversalSortableDateTime: "Y-m-d H:i:sO", YearMonth: "F, Y"};当然ISO8601Long和ISO8601Short还是非常招人喜欢的例:dt.format(Date.patterns.ISO8601Long);dt.format('Y-m-d H:i:s');getDayOfYear() : Number 一年中的第几天,从0开始getDaysInMonth() : Number 本月有多少天,getElapsed( [Date date] ) : Number 当前日期对象与date之间相差的毫秒数getFirstDateOfMonth() : Date 本月的第一天getFirstDayOfMonth() : Number 本月第一天是星期几getGMTOffset() : String 时区信息(见格式定义中的'O')getFirstDateOfMonth() : Date 本月最后一天getFirstDayOfMonth() : Number 本月最后一天是星期几getSuffix() : String 日期后导符(见格式定义中的S)getTimezone() : String 时区(见T)isLeapYear() : Boolean 是否闰年Function类createCallback(/*args...*/) : Function 创建回叫方法createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :创建委托这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegate createCallback==>return method.apply(window, args);createDelegate==>return method.apply(obj || window, callArgs);前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用例:var fn = func1.createDelegate(scope, [arg1,arg2], true) //fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);var fn = func1.createDelegate(scope, [arg1,arg2]) //fn(a,b,c) === scope.func1(arg1,arg2);var fn = func1.createDelegate(scope, [arg1,arg2], 1) //fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);var fn = func1.createCallback(arg1, arg2); //fn() === func1(arg1, arg2)createCallback : function(/*args...*/)createInterceptor( Function fcn, [Object scope] ) : Function 创建阻断方法,如果fcn返回false,原方法将不会被执行createSequence( Function fcn, [Object scope] ) : Function 创建组合方法,执行原方法+fcndefer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ):Number定时执行,隔millis毫秒后执行原方法Ext.DomQuery类selector语法详见Ext类compile( String selector, [String type] ) : Function编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一filter( Array el, String selector, Boolean nonMatches ) : Array过滤el中的元素,保留符合selector的,如果nonMatches为真,结果相反is( String/HTMLElement/Array el, String selector ) : Boolean 验证el是否匹配selectorselect( String selector, [Node root] ) : Array 从root中选择匹配selector的对象数组selectNode( String selector, [Node root] ) : Element 返回root中第一个匹配selector的对象selectNumber( String selector, [Node root], Number defaultValue ) : Number返回root中第一个匹配selector的对象的节点值,转换为整数或浮点数selectValue( String selector, [Node root], String defaultValue ) : void返回root中第一个匹配selector的对象的节点值,如果为null,用默认值defaultValue代替Ext.DomHelper类append( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM元素并添加到el 参数 o 是一个DOM对象或一个原始html块applyStyles( String/HTMLElement el, String/Object/Function styles ) : void应用样式styles到对象el,样式的对象表示方法见Ext.ElementcreateTemplate( Object o ) : Ext.Template 由o创建一个新的Ext.Template对象,详见 Ext.TemplateinsertAfter( Mixed el, Object o, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM对象o并将他们挺入在el之后/之前insertFirst( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素并做为第一个子节点添加到el (看了这个insertFirst,建议将append取一个别名insertLast:))insertHtml( String where, HTMLElement el, String html ) : HTMLElementwhere 可选值beforeBegin/afterBegin/beforeEnd/afterEnd 将html代码插入到el附近,markup( Object o ) : String 返回DOM对象o对应的html代码overwrite( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素o并用它重写el的内容Ext.Template类Template类主要是功能是生产html片断,例t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'});公用方法:Template( String/Array html ) 构造一个Ext.Template对象,参数可以是字符串形式的html代码或它们组成的数组,Template.from( String/HTMLElement el, Object config ) : Ext.Template 能过el的value(优先)或innerHTML来构造模板append( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertAfter( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertFirst( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element这组方法提供由 value产生的html 代码,并添加到dom 做为el的最后一个子节点/下一个兄弟节点/前一个兄弟节点/第一个子节点values解释参见applyTemplateapply() : voidapplyTemplate( Object values ) : Stringapply是applyTemplate的简写,如果参数是数字values可以是一个数组,或者一个象 {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}这样的json对象compile() : Ext.Template 编译模板,替换掉模板中的\=>\\ ,\r\n|\n==>\\n, '=\',主要是为了js自己处理方便overwrite( Mixed el, Object values, [Boolean returnElement] ) :利用values生成html替换el的内容set( String html, [Boolean compile] ) : Ext.Template设置模板的html,如果compile为真将调用compile方法Ext.Element类Element( String/HTMLElement element, [Boolean forceNew] ) 由id或DOM节点创建Element对象Element.fly( String/HTMLElement el, [String named] ) : Element由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突Element.get( Mixed el ) : Element 由id或DOM节点或已存在的Element得到一个Ext.Element对象addClass( String/Array className ) : Ext.Element 为元素添加一个或多个css类名addClassOnClick( String className ) : Ext.Element 为点击事件添加和移除css类addClassOnFocus( String className ) : Ext.Element 为得到和失去焦点添加和移除css类addClassOnOver( String className, [Boolean preventFlicker] ) : Ext.Element为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)addKeyListener( Number/Array/Object/String key, Function fn, [Object scope] ) : Ext.KeyMap为对象添加按键侦听 key由数值或字符串或{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}这样的对象或他们的数组组成addKeyMap( Object config ) : Ext.KeyMap 功能同addKeyListener,只是传参方式不同例:el.addKeyMap({key : "ab",ctrl : true,fn: fn,scope:el });和el.addKeyListener({key:"ab",ctrl:true},fn,el);是等价的,都是在按下ctral+a或ctrl+b后呼叫fnaddListener( String eventName, Function fn, [Object scope], [Object options] ) : void定义事件侦听,eventName:事件名,fn:事件处理方法,scrope:范围,其中options的定义比较复杂,可以包含以下属性scope {Object} : 处理fn的范围 delegate {String} : 一个简单选择器(过滤目标或寻找目标的子孙节点)stopEvent {Boolean} : 阻止事件,等于preventDefault+stopPropagationpreventDefault {Boolean} : 阻止默认活动 stopPropagation {Boolean} : 阻止事件冒泡normalized {Boolean} :设为flase将允许浏览器事件替代Ext.EventObjectdelay {Number} : 延时多少毫秒后发生 single {Boolean} : 只运行一次buffer {Number} : 在Ext.util.DelayedTask中预定事件当然,还可能自定义参数以传入functionalignTo( Mixed element, String position, [Array offsets], [Boolean/Object animate] ) : Ext.Element将el对齐到element,positon,指示对齐的位置,可选以下定义tl 左上角(默认) t 上居中 tr 右上角 l 左边界的中央 c 居中 r 右边界的中央bl 左下角 b 下居中 br 右下角 position还可以使用?约束移动不能超出窗口 offsets 偏移量,以象素为单位animate 详见animate定义例:div1.alignTo('div2','c-bl?',[20,0],true); 采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口anchorTo( Mixed element, String position, [Array offsets], [Boolean/Object animate], [Boolean/Number monitorScroll], Function callback ) : Ext.Element 功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms,callback定义了animate完成后的回叫方法animate( Object args, [Float duration], [Function onComplete], [String easing], [String animType] ) : Ext.Element执行动画. args:目标 duration:时间间隔.默认是0.35 Function:完成后的回叫方法easing:行为方法默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速 easeIn:开始慢且加速 easeOut:开始快且减速 easeBoth:开始慢且减速 easeInStrong:开始慢且加速,t的四次方easeOutStrong:开始快且减速,t的四次方 easeBothStrong:开始慢且减速,t的四次方elasticIn: elasticOut: elasticBoth: backIn: backOut: backBoth: bounceIn: bounceOut: bounceBoth: 太多,慢慢体会吧animType:定义动画类型,默认值run 可选值:color/motion/scrollappendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element 添加子元素el(el须已存在) appendTo( Mixed el ) : Ext.Element 将当前元素添加到elapplyStyles( String/Object/Function styles ) : Ext.Element应用样式,styles是"width:100px"这样的字符串或{width:"100px"}这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyleautoHeight( [Boolean animate], [Float duration], [Function onComplete], [String easing] ) : Ext.Element自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更blur() : Ext.Element 失去焦点,忽略所有的异常boxWrap( [String class] ) : Ext.Element 一个指定样式class的div将当前元素包含起来,class默认值为x-boxcenter( [Mixed centerIn] ) : voidalignTo的简华版.相当于alignTo(centerIn || document, 'c-c'),当前元素的中心对齐到centerIn元素的中心child( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Elementclean( [Boolean forceReclean] ) : void 清除无用的空白文本节点(我喜欢这个想法)clearOpacity() : Ext.Element清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacityclearPositioning( [String value] ) : Ext.Element 清除定位,恢复到默认值,相当于this.setStyle({"left": value,"right": value,"top": value,"bottom": value,"z-index": "","position" : "static"});clip() : Ext.Element 裁剪溢出部分,用unclip()恢复contains( HTMLElement/String el ) : Boolean 当前元素中是否存在elcreateChild( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.Element创建一个新的子节点config :DomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加createProxy( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.Element创建一个代理元素config:代理元素的类名或DomHelper config对象 renderTo:将要绘制代理元素的html element或id matchBox:是否对齐createShim() : Ext.Element 在当前元素之前创建一个classname为ext-shim的iframe,有什么用?down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element通过样式选择器selector选择子孙节点enableDisplayMode( [String display] ) : Ext.Element setVisibilityMode的简便方法findParent( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement通过简单选择器selector寻找祖先节点 ,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回null findParentNode( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement从父元素开始使用简单选择器selector选择DOM节点first( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement得到第一个符合selector条件的子节点,跳过文本节点focus() : Ext.Element 得到焦点getAlignToXY( Mixed element, String position, [Array offsets] ) : Array得到当前元素按position规则对齐到element时的XY坐标值 position/offsets参数参见alignTo方法getAnchorXY( [String anchor], [Object size], [Boolean local] ) : Array得到当前元素锚点指定的坐标值 anchor定义参见alignTo方法,默认为cgetAttributeNS( String namespace, String name ) : String 得到使用了命名空间namespace的属性name之值, getBorderWidth( String side ) : Number得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth("lr")就是得到左边框和右边框之和getBottom( Boolean local ) : Number 得到当前元素的底部纵坐标,元素纵坐标+元素高度getBox( [Boolean contentBox], [Boolean local] ) : Object 得到当前元素的box对象:{x,y,width,height}getCenterXY() : Array 如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')getColor( String attr, String defaultValue, [String prefix] ) : void得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串getComputedHeight() : Number得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去getComputedWidth() : Number 见getComputedHeightgetFrameWidth( String sides ) : Number 得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidth getHeight( [Boolean contentHeight] ) : Number 返回元素的offsetHeightgetLeft( Boolean local ) : Number 得到横坐标getMargins( [String sides] ) : Object/Number如果没有定义sides,则返回一个含有{left,top,width,height}对象,反之返回side指定的宽度,side定义见getBorderWidth getOffsetsTo( Mixed element ) : Array 计算从element到当前元素的偏移量getPadding( String side ) : Number 得到由side指定的padding之和getPositioning() : Object 得到当前元素的位置信息返回含以下属性的对象{position,left,right,top,bottom,z-index} getRegion() : Region 得到当前元素的区域信息返回含有以下属性的Ext.lib.Region对象{top, left, bottom, right}getRight( Boolean local ) : Number 右边界值getScroll() : Object 得到一个批示滚动条位置的对象{left, top}getSize( [Boolean contentSize] ) : Object 得到宽度和高度组成的对象信息{width,height}getStyle( String property ) : String 得到指定的样式值 getStyles简化版getStyles( String style1, String style2, String etc. ) : Object 得到由参数组成的对象例:el.getStyles('color', 'font-size', 'width')可能返回 {'color': '#FFFFFF', 'font-size': '13px', 'width': '100px'}getTop( Boolean local ) : Number 得到顶点纵坐标getUpdater() : Ext.Updater 得到当前元素的Updater对象,参见Ext.Updater类getValue( Boolean asNumber ) : String/Number 得到value属性的值getViewSize() : Object 得到clientHeight和clientWidth信息给成的对象{width,height}getWidth( [Boolean contentWidth] ) : Number ..这样的方法真多getX() : Number getXY() : Array getY() : Array 得到页面偏移量,也就是绝对坐标hasClass( String className ) : Boolean 样式类className 存在于当前元素的dom 节点中hide( [Boolean/Object animate] ) : Ext.Element 隐藏当前元素hover( Function overFn, Function outFn, [Object scope] ) : Ext.Element 设置鼠标移入移出事件initDD( String group, Object config, Object overrides ) : Ext.dd.DDinitDDProxy( String group, Object config, Object overrides ) : Ext.dd.DDProxyinitDDTarget( String group, Object config, Object overrides ) : Ext.dd.DDTarget这个要放到 Ext.dd去专门搞了,用于拖曳insertAfter( Mixed el ) : Ext.ElementinsertBefore( Mixed el ) : Ext.ElementinsertFirst( Mixed/Object el ) : Ext.Element在DOM中el元素之前之后...插入当前元素insertHtml( String where, String html, Boolean returnEl )插入html内容 where 可选beforeBegin, afterBegin, beforeEnd, afterEndinsertSibling( Mixed/Object/Array el, [String where], [Boolean returnDom] ) :is( String selector ) : Boolean 验证当前节点是否匹配简单选择器selectorisBorderBox() 测试不同的样式规则以决定当前元素是否使用一个有边框的盒子isDisplayed() : Boolean 只要不是指定display属性none都会返回真isMasked() : Boolean 仅有当前元素有mask并且可见时为真,mask译为蒙片?就是有些输入框没得到值之前会有一行模糊的提示的那种东西isScrollable() : Boolean 可以滚动?isVisible( [Boolean deep] ) : Boolean 可见?last( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement 见firstload( String/Function url, [String/Object params], [Function callback], [Boolean discardUrl] ) : Ext.Element直接应用当前updater的update方法mask( [String msg], [String msgCls] ) : Element 为当前对象创建蒙片move( String direction, Number distance, [Boolean/Object animate] ) : Ext.Element 相前元素相对于当前位置移动, direction批示方向可能的值是"l","left" - "r","right" - "t","top","up" - "b","bottom","down".distance,指示要移动的距离,以像素为单位moveTo( Number x, Number y, [Boolean/Object animate] ) : Ext.Element 称动到指定的位置next( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement 下一个符合selector的兄弟节点,on( String eventName, Function fn, [Object scope], [Object options] ) : void 详见addListenerposition( [String pos], [Number zIndex], [Number x], [Number y] ) : void初始化当前元素的位置 pos可选择relative/absolute/fixedprev( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement 前一个符合selector的兄弟节点query( String selector ) : Array 通过样式选择器选择子节点radioClass( String/Array className ) : Ext.Element 添加样式或样式数组到当前元素,并移除兄弟节点中的指定样式relayEvent( String eventName, Object object ) : void 将当前元素的eventName事件同时转发给object对象remove() : void 从当前DOM中删除元素,并从缓存中移除removeAllListeners() : Ext.Element 移除所有的侦听者removeClass( String/Array className ) : Ext.Element 移除样式类removeListener( String eventName, Function fn ) : Ext.Element 移除事件eventName的fn侦听器repaint() : Ext.Element 强制浏览器重绘当前元素replace( Mixed el ) : Ext.Element 用当前元素替换elreplaceClass( String oldClassName, String newClassName ) : Ext.Element 替换样式类replaceWith( Mixed/Object el ) : Ext.Element 用el替换当前元素scroll( String direction, Number distance, [Boolean/Object animate] ) : Boolean滚动,scroll会保证元素不会越界,direction和distance参数见movescrollIntoView( [Mixed container], [Boolean hscroll] ) : Ext.Element 滚动到container内的视图scrollTo( String side, Number value, [Boolean/Object animate] ) : Element 基本与scroll方法相同,但不保证元素不越界select( String selector, [Boolean unique] ) :与query不同的是,通过样式选择器selector,select方法会返回一个复合元素对象(CompositeElement)或CompositeElementLite, set( Object o, [Boolean useSet] ) : Ext.Element 设置属性,例el.set({width:'200px',height:'200px'});setBottom( String bottom ) : Ext.Element setLeft( String left ) : Ext.ElementsetRight( String right ) : Ext.Element setTop( String top ) : Ext.ElementsetLeftTop( String left, String top ) : Ext.Element 设置css 对象的属性值setBounds( Number x, Number y, Number width, Number height, [Boolean/Object animate] ) : Ext.Element马上改变当前元素的位置和尺寸setBox( Object box, [Boolean adjust], [Boolean/Object animate] ) : Ext.Element为当前元素设置一个盒子box:{x, y, width, height},adjust指示是否马上调整尺寸setDisplayed( Boolean value ) : Ext.Element 设置可见性setHeight( Number height, [Boolean/Object animate] ) : Ext.ElementsetWidth( Number width, [Boolean/Object animate] ) : Ext.ElementsetSize( Number width, Number height, [Boolean/Object animate] ) : Ext.Element 设置高度和宽度setLocation( Number x, Number y, [Boolean/Object animate] ) : Ext.Element 设置当前元素相对于页面的横纵坐标setOpacity( Float opacity, [Boolean/Object animate] ) : Ext.Element 设置透明度,opacity为1完全不透明,0完全透明setPositioning( Object posCfg ) : Ext.Element 为当前元素指定位置信息,参数posCfg参见getPositioning说明setRegion( Ext.lib.Region region, [Boolean/Object animate] ) : Ext.Element 为当前元素指定区域信息 region定义setStyle( String/Object property, [String value] ) : Ext.Element 设置样式setVisibilityMode( visMode Element.VISIBILITY ) : Ext.Element指示是使用Element.VISIBILITY还是Element.DISPLAY属性来定义可见性setVisible( Boolean visible, [Boolean/Object animate] ) : Ext.Element 设置可见性setX( Number The, [Boolean/Object animate] ) : Ext.ElementsetXY( Array pos, [Boolean/Object animate] ) : Ext.ElementsetY( Number The, [Boolean/Object animate] ) : Ext.Element 设置当前元素相对于page的位置show( [Boolean/Object animate] ) : Ext.Element 显示当前元素swallowEvent( String eventName, [Boolean preventDefault] ) : Ext.Element阻止eventName事件冒泡,并视preventDefault阻断默认行为toggle( [Boolean/Object animate] ) : Ext.Element 切换元素的visibility 或display属性,依赖于setVisibilityMode设定的toggleClass( String className ) : Ext.Element 如果样式名存在于当前元素对应的dom 节点,移除,反之应用translatePoints( Number/Array x, Number y ) : Object 返回一个{left,top}结构un( String eventName, Function fn ) : Ext.Element 解除事件侦听,参见 removeListenerunclip() : Ext.Element 见clip;unmask() : void 见mask;unselectable(): Ext.Element禁止文本选择up( String selector, [Number/Mixed maxDepth] ) : Ext.Element通过样式选择器selector选择祖先节点update( String html, [Boolean loadScripts], Function callback ) : Ext.Element利用html更新当前节点内容,loadScripts指示html中如果有script,是否需要运行,这是一个innerHTML的一个老老老问题了wrap( [Object config], [Boolean returnDom] ) : HTMLElement/Element用另一个元素config包含自己Ext.EventManager事件管理者中的大部分方法都在Ext中有定义,主要用于事件管理addListener( String/HTMLElement el, String eventName, Function handler,on( String/HTMLElement el, String eventName, Function handler, [Object scope], [Object options] ) : void onDocumentReady( Function fn, [Object scope], [boolean options] ) : voidremoveListener( String/HTMLElement el, String eventName, Function fn ) :un( String/HTMLElement el, String eventName, Function fn ) : Boolean参见ExtonWindowResize( Function fn, Object scope, boolean options ) : void窗口大小变更时触发onTextResize( Function fn, Object scope, boolean options ) : void活动文本尺寸变更时触发Ext.EventObject这两个类都定义在EventManager.js中,分开是为了逻辑上更清晰吧,这个类主要用于描述事件本身,一般用做事件处理方法的参数另外这个害定义了一些键值常量,比ascii码好记例function handleClick(e){ // 这儿的e就是一个EventObject对象e.preventDefault(); var target = e.getTarget(); ...}var myDiv = Ext.get("myDiv");myDiv.on("click", handleClick);//orExt.EventManager.on("myDiv", 'click', handleClick);Ext.EventManager.addListener("myDiv", 'click', handleClick); getCharCode() : NumbergetKey() : Number在非webkit|khtml类型网页中这两个方法是一样的,得到按键的值getPageX() : Number getPageY() : Number getXY() : Array得到事件坐标getRelatedTarget() : HTMLElement得到关联目标?我总是得到nullgetTarget( [String selector], [Number/Mixed maxDepth], [Boolean returnEl] ) :如果没有定义selector则直接返回target属性,如果定义了selector,则利用selector寻找祖先节点getTime() : Number得到事件发生的时间?getWheelDelta() : Number 应该是个过时的方法,反正在ie和火狐下都不知道做什么用的,原意应该是得到鼠标的按键信息?hasModifier() : Boolean事件发生时是否同时按下了ctrl/alt/shift键之一?preventDefault() : void阻止浏览器的默认事件?stopPropagation() : void 阻止事件冒泡within( Mixed el, [Boolean related] ) : Boolean如果事件的目标是el或者它的子节点将返回真positeElement类基础的复合元素类,为容器中每个元素创建一个Ext.Element对象虽然不是继承自Ext.Element,但事实上它几乎支持Element类的所有方法例:var els = Ext.select("#some-el div.some-class", true);els.setWidth(100);add( String/Array els ) : CompositeElement添加 css选择器els匹配的元素或元素组成的数组到当前对象clear() : void清除所有元素contains() : Boolean应该是contains(Mixed el):Boolean,当前复合元素中是否含有eleach( Function fn, [Object scope] ) : CompositeElement通过el,this,index参数为每个元素调用fnfill( String/Array els ) : CompositeElementclear()& add(els)filter( String selector ) : CompositeElement过滤first() : Ext.Element第一个元素getCount() : Number//元素的数量indexOf() : Boolean同contains一样应该有个Mixed参数item( Number index ) : Ext.Element第index个元素last() : Ext.Element最后一个元素removeElement( Mixed el, [Boolean removeDom] ) : CompositeElement删除el元素replaceElement( Mixed el, Mixed replacement, [Boolean domReplace] ) : CompositeElement替换positeElementLit e由positeElement继承而来,重写了一些方法,但没看出与父类有什么不同addElements /invoke /item /addListener /each /indexOf /replaceElementExt.Fx类对于我这样的懒鬼而言,Fx类是核心类库中最激动人心的一个类,它不是最重要的,却是最实用的一个类定义了一些常用的特效方法,不妨自己多动手试试下面的方法,很有趣的fadeIn( [Object options] ) : Ext.Element渐显 options参数有以下属性callback:Function 完成后的回叫方法scope:Object 目标easing:String 行为方法默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速 easeIn:开始慢且加速 easeOut:开始快且减速 easeBoth:开始慢且减速easeInStrong:开始慢且加速,t的四次方 easeOutStrong:开始快且减速,t的四次方easeBothStrong:开始慢且减速,t的四次方 elasticIn: elasticOut: elasticBoth: backIn: backOut: backBoth: bounceIn: bounceOut: bounceBoth: 太多,慢慢体会吧afterCls:String 事件完成后元素的样式 duration:Number 事件完成时间(以秒为单位)remove:Boolean 事件完成后元素销毁? useDisplay:Boolean 隐藏元素是否使用display或visibility属性? afterStyle:String/Object/Function 事件完成后应用样式 block:Boolean 块状化?concurrent:Boolean 顺序还是同时执行? stopFx :Boolean 当前效果完成后随合的效果是否将停止和移除fadeOut( [Object options] ) : Ext.Element渐隐 fadeOut和fadeIn能使用一个特别的endOpacity属性以指示结束时的透明度例:el.fadeIn({duration:5,endOpacity:0.7});frame( [String color], [Number count], [Object options] ) : Ext.Element边框变亮扩展然后渐隐例:el.frame("ff0000", 10, { duration: 3 })ghost( [String anchor], [Object options] ) : Ext.Element渐渐滑出视图,anchor定义tl 左上角(默认) t 上居中 tr 右上角 l 左边界的中央c 居中 r 右边界的中央 bl 左下角 b 下居中 br 右下角例:el.ghost('b', { easing: 'easeOut', duration: .5, remove: false, useDisplay: false});hasActiveFx() : Boolean指示元素是否当前有特效正在活动hasFxBlock() : Boolean是否有特效阻塞了。

比特币交易源代码分析

比特币交易源代码分析
比比特币交易! 一一、结构! 二二、类型! 三、构造交易! 四、发送交易! 五、接收交易! 六、交易有效性! 密钥! 一一、密钥! 二二、公钥! 三、加密的公钥、私钥! 四、签名! 地址! 脚本! 一一、脚本! 二二、操作码! 三、构造脚本! 四、解析执行行脚本! 五、校验脚本! 六、数值转换! 七、压缩版脚本! 交易内存池! 一一、内存池! 二二、⺴网网络接收交易信息! 三、获取节点交易内存池数据! 交易精简版! 一一、结构! 二二、币视图数据库! 钱包! 一一、钱包数据库! 二二、钱包!
!
// The actual byte data!
⻚页码:8/44
unsigned char vch[32];! };! ! GetPrivKey函数获取私钥。! ! GetPubKey函数获取公钥。! ! Sign函数打签名。! ! SignCompact函数打压缩的签名。!
!
二二、公钥!
! 系统定义了类CPubKey,封装了公钥。! ! 类CPubKey的定义如下:! class CPubKey {! private:!
! 参考类CWallet的SendMoneyToDestination函数。!
! 2、填充交易的输入入交易(vin)!
! 先从钱包的交易信息中选择合适的比比特币(SelectCoins函数),填充到交易 的输入入交易中。!
! 3、签名(CTxIn.scriptSig)!
! 对输入入交易的scriptSig签名(SignSignature函数)。!
3! 3! 5! 6! 6! 6! 6! 8! 8! 9! 9! 10! 12! 13! 13! 13! 17! 18! 19! 19! 19! 21! 21! 22! 23! 24! 24! 26! 29! 29! 31!

在线encode和decode的用法

在线encode和decode的用法

在今天的信息时代中,我们经常会遇到需要对数据进行加密和解密的情况,尤其是在网络传输和数据存储过程中。

而其中一个常用的方法就是在线encode和decode。

本文将就在线encode和decode的用法进行深入探讨,并共享一些个人观点和理解。

一、什么是在线encode和decode?在简单介绍encode和decode之前,我们首先需要了解一下base64编码。

Base64是一种基于64个字符的编码方法,常用于在不同的系统之间进行数据传输。

在Base64编码中,常见的字符如字母、数字、斜杠和加号等。

1. 在线encode:在计算机的编程领域中,encode指的是将原始数据进行编码转换,以便在传输过程中能够正确地被识别和处理。

在线encode即指通过在线工具或代码,将原始数据按照规定的编码方式进行转换。

2. 在线decode:与encode相对应的是decode,decode指的是将经过编码的数据进行解码操作,以便还原成原始的数据格式。

在线decode即指通过在线工具或代码,将经过编码的数据按照规定的解码方式进行还原。

二、在线encode和decode的用法在实际的编程开发过程中,我们可能会经常遇到需要对数据进行encode和decode的情况。

下面将分别介绍一下它们的用法:1. 在线encode的用法:a. 选择合适的在线工具或编程语言库,如JavaScript中的btoa()函数或Python中的base64模块。

b. 将需要进行encode的原始数据输入到工具或库中,并按照要求的编码方式进行转换。

c. 获取编码后的数据,并根据需要进行进一步处理或传输。

2. 在线decode的用法:a. 同样选择合适的在线工具或编程语言库,如JavaScript中的atob()函数或Python中的base64模块。

b. 将经过编码的数据输入到工具或库中,并按照要求的解码方式进行还原操作。

c. 获取解码后的原始数据,并进行后续的业务处理或存储操作。

decode函数多个条件

decode函数多个条件

decode函数多个条件一、引言在计算机科学领域中,编码和解码是非常重要的概念。

编码是将数据从一种形式转换为另一种形式的过程,而解码则是将已编码的数据转换回原始形式的过程。

本文将介绍一个名为“decode”的函数,该函数可以用于解码多种类型的数据。

二、decode函数的基本功能decode函数是一个通用解码函数,它可以解码多种不同类型的数据。

下面是该函数的基本功能:1. 解压缩数据:如果输入数据经过压缩,则decode函数可以将其解压缩。

2. 解密数据:如果输入数据经过加密,则decode函数可以将其解密。

3. 转换编码格式:如果输入数据采用了不同的编码格式,则decode函数可以将其转换为指定格式。

三、decode函数的参数下面是decode函数所接受的参数:1. 输入字符串(必选):需要进行解码操作的字符串。

2. 解压缩标志(可选):如果设置为True,则会对输入字符串进行解压缩操作,默认为False。

3. 解密标志(可选):如果设置为True,则会对输入字符串进行解密操作,默认为False。

4. 输入编码格式(可选):指定输入字符串所采用的编码格式,默认为"utf-8"。

5. 输出编码格式(可选):指定输出字符串所采用的编码格式,默认为"utf-8"。

四、decode函数的实现下面是decode函数的实现代码:```pythonimport zlibimport base64def decode(input_string, decompress=False, decrypt=False, input_encoding="utf-8", output_encoding="utf-8"):# 将输入字符串转换为指定编码格式input_bytes = input_string.encode(input_encoding)# 如果需要解压缩,则进行解压缩操作if decompress:input_bytes = zlib.decompress(input_bytes)# 如果需要解密,则进行解密操作if decrypt:input_bytes = base64.b64decode(input_bytes)# 将解码后的字节流转换为字符串并返回return input_bytes.decode(output_encoding)```五、使用示例下面是使用示例:```python# 解压缩并解密数据,并将其转换为GBK编码格式的字符串input_string = "eJxLTEpOzytKTC7JzM9T0gEAEwYFtg==" output_string = decode(input_string, decompress=True, decrypt=True, output_encoding="gbk")print(output_string)```六、总结本文介绍了一个通用解码函数decode,该函数可以用于解码多种类型的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JSON到对象的转换(反序列化)方法,EXT.decode()和
EXT.encode()方法
【原】基础篇:第四篇,Ext中有两个很重要的方法,一个是decode;一个是encode. 在述说这个例子之前,我假想你已经知道什么是Json数据了,那么在这里在温习一下吧:
JSON(JavaScript Object Notation) 是一种数据交换格式,采用完全独立于语言的文本格式;
JSON建构于两种结构:“名称/值”对的集合和值的有序列表
下面详细说明下:
“名称/值”对的集合(A collection of name/value pairs)。

不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。

值的有序列表(An ordered list of values)。

在大部分语言中,它被理解为数组(array)。

JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。

一个对象以“{”(左括号)开始,“}”(右括号)结束。

每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

数组是值(value)的有序集合。

一个数组以“[”(左中括号)开始,“]”(右中括号)结束。

值之间使用“,”(逗号)分隔。

值(value)可以是双引号括起来的字符串(string)、数值(number)、 ture、false、 null、对象(object)或者数组(array)。

这些结构可以嵌套。

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。

一个字符(character)即一个单独的字符串(character string)。

空白可以加入到任何符号之间
下面介绍Ext中两个很重要的方法,其实,Ext中没有多余的方法,每个方法都能够恰当好处的发挥它的作用,这里指它很重要,是因为它们太常用了,尤其是在与数据库交换数据的时候
Ext中有两个很重要的方法,一个是decode;一个是encode.顾名思义,一个是编码,一个是解码,你难道真的这么想吗?
严格的说,一个是将json字符串转换成对象;一个是将对象转换成json字符串
下面这个示例主要介绍的是Ext.decode()和Ext.encode()的用法,其中使用到了json格式的串,首先是用到了Ext.decode()方法,将json格式的串转换成
对象,然后通过对象访问对象所包含的各个属性的值,通过消息框把它们显示出来;之后在用Ext.encode()将已经生成的对象转换成开始定义的json格式的串,也通过消息框把它们显示出来,加了一个函数,使得在第一个消息框弹出3秒钟后再弹出第二个消息框
用图片说明吧
//下面是将json字符串转换成对象后,通过对象访问属性生成的消息框
//下面是将上面生成的对象又转换成json字符串后生成的消息框
具体看下示例吧
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="testDecode.aspx.cs"
Inherits="Test.Example.hello.testDecode" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml" >
<head runat="server">
<title>测试Ext.decode()和Ext.encode()方法</title>
<link rel="Stylesheet" type="text/css"
href="/ExtJS/resources/css/ext-all.css" />
<link rel="Stylesheet" type="text/css"
href="/ExtJS/resources/css/xtheme-purple.css" />
<script type="text/javascript"
src="/ExtJS/adapter/ext/ext-base.js"></script> <script type="text/javascript"
src="/ExtJS/ext-all.js"></script>
<script type="text/javascript"
src="/ExtJS/ext-lang-zh_CN.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<script type="text/javascript">
function ready()
{
//再用一个示例说明下如何使用decode和encode,现在我们已经知道什么是json数据格式了,也知道它的作用和语法了
//现在我们就开始演练吧
//先使用decode方法,这个方法是将json字符串转换成对象的
//第一步:先定义一个json字符串吧
var 刘天王 = "{姓名:'刘德华',性别:'男',老家:'香港'}";
//第二步:现在我们要把刘天王转换成对象了
var who = Ext.decode(刘天王);
//第三步:who成了对象后就相当于是类的对象了,里面的姓名,性别,老家都成了who的属性了,现在知道怎么通过对象访问属性了吧
var name = who.姓名; //获取who对象的[姓名]属性
var sex = who.性别; //获取who对象的[性别]属性
var home = who.老家; //获取who对象的[老家]属性
//第四步:下面将获取的信息组合起来
var result = "刘天王资料的信息:姓名是--"+name + ";性别
--"+sex+";老家--"+home;
//第五步:我们把获取的who对象的信息用弹出消息的方式显示出来吧 Ext.Msg.alert("刘天王的资料信息",result);
//以上就是将一个json字符串转换成对象后,再逐个访问对象的属性的示例
//下面使用encode方法
//encode方法很简单了,就是将上面生成的who对象再转换成第一步定义的json字符串
//定义一个到时间执行的函数
var getJson = function()
{
//你完全可以把这段写在函数外面,之所以包含在里面纯属是为了在显示第一个消息框后再隔3秒显示下面这个消息窗口
var jsonStr = Ext.encode(who);
//我们还是通过弹出消息的方式把这个json字符串显示出来吧
Ext.Msg.alert("jsonStr信息内容",jsonStr);
};
//下面这个方法意思是:在3秒之后会调用函数getJson执行里面包含的脚本
setTimeout(getJson,3000);
//补充点东西
//Ext.decode()和Ext.encode()分别是是 Ext.util.JSON.decode()和Ext.util.JSON.encode的简写
}
Ext.onReady(ready);
</script>
</div>
</form>
</body>
</html>
现在这个例子就可以说明Ext.decode()和Ext.encode()方法的完美作用了. 用图片说明吧
//下面是将json字符串转换成对象后,通过对象访问属性生成的消息框
//下面是将上面生成的对象又转换成json字符串后生成的消息框。

相关文档
最新文档