Extjs中的一些特殊用法
来源:互联网 发布:淘宝买家信誉升级 编辑:程序博客网 时间:2024/05/21 23:55
1.文本节点的处理
var textNode=document.createTextNode(data)
这儿的data可以是带标签的string类型数据
Node.nodeType==3判断是文本节点时
可以通过var text=Node.text || Node.textContent //前IE 后FF获取文本节点的文本
在option集合中 通过selectObject.option[index].text获取选项的文本
2 RegExp的特殊使用
2.1通过传入的字符串创建正则式:
把传入的字符串转化为可用的正则式,作为RegExp构造方法的参数
escapeRe : function(s) {
return s.replace(/([-.*+?^${}()|[\]\/\\])/g, "\\$1");
},
这儿replace的第二个参数 replacement 是\\$1表示仅仅匹配第一个子匹配同时返回值带有一个\ 如:
"John Smith".replace(/(\w+)\s(\w+)/, "\\$1"); 返回的是Jorn但为什么没有返回\Jorn,还不清楚
2.2 Extjs中判断selector的类型
var reg=/^(#)?([\w-\*]+)/;
var str="div>a";
var result=str.match(reg);
for (var i=0;result[i];i++){
alert(result[i]);
}
这儿则正式的涵义是 是否有一个或0个以#开头的随后是一个或多个 单词或-或*的匹配
这儿的结果是div 如果str="#div>a";结果是#div # div
2.3 匹配行样式表
nthRe = /(\d*)n\+?(\d*)/ d*匹配0个或多个数字 \+?表示0个或一个+
2.4 ?:pattern匹配
官方解释:
(?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有 用。 如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
Extjs中此句 /^(?:scope|delay)$/
那么 /^(?:scope|delay)$/ 和 /^(scope|delay)$/ 相比,后者的括号可以获取子匹配,而前者不获取子匹配
2.5 String.replace(regexp,replacement)当第二个参数为fn 实例
function regReplace(){
var str="我是猪,我是猪";
str.replace(/我/g,function(){
for(var i=0;i<arguments.length;i++){
alert(arguments[i])
}
return "你";
});
}
regReplace()
这儿的因为使用g进行全局匹配,所以function会多次调用,每次调用会传递三个参数,1匹配的字符 2匹配字符的index 3进行匹配的字符串
此方法在Extjs中的使用
Ext.onReady(function() {
var s = String.format('<div>姓名:{0}<br/>年龄:{1}</div>',"大漠穷秋","26");
document.body.innerHTML=s;
});
Ext扩展的String中的format方法
format : function(format){
var args = Ext.toArray(arguments, 1);
return format.replace(/\{(\d+)\}/g, function(m, i){
return args[i];
});
}
3 使用new 后function的类型为object ,没有new 时是function,所以通过判断js对象是否实例化
4内置的原型对象,在使用new 实例化后 指向var xx=function(){}xx的原型对象,所以通过prototype添加方法时,只有实例化才能引用prototype中的方法
5.js中component的bubble和capture 使用bubble和capture都必须在supercomponent上设置,才回产生bubble和capture的效果,并且只针对diretct subcomponent才会产生效果
6.js中排序的实现
在Array原生函数中有一个sort(fn),fn中有两个参数 实例:
var fn=function(a,b){
if(typeof(a)=="string"){
return a.localeCompare(b);
}
return a-b;
};
var arr=['张三','李四','王二','麻子'];
arr.sort(fn);
alert(arr);
在Extjs中ArrayStore中filterBy(fn,scope)的实现类似,在实现上可以参考java的Comparitor接口的实现
- Extjs中的一些特殊用法
- jqgrid一些特殊用法
- oracle 一些特殊用法
- Oracle一些特殊用法
- bash脚本中的一些特殊字符的用法
- C语言中#define中的一些特殊用法
- cin的一些特殊用法
- insert的一些特殊用法
- C++ 一些特殊类型用法
- sql的一些特殊用法
- find的一些特殊用法
- php中一些特殊用法
- TabLayout的一些特殊用法
- Shell中的一些特殊变量
- shell中的一些特殊变量
- shell中的一些特殊变量
- oracle中的一些特殊字符
- 类中的一些特殊函数
- MySql常用命令总结
- 【5.3.2 字母重排】
- Objective-C中的Block
- startActivityForResult()的用法
- 《学习OpenCV》练习题第三章第七题
- Extjs中的一些特殊用法
- Go 语言简介(下)— 特性<转载>
- 黑马程序员——内部类、匿名内部类
- C++游戏开发需要阅读的书籍
- 一个简单的epoll测试例子
- linux kernel panic解决思路
- 黑马程序员——异常
- 常数变易法的原理
- 移动版三星N7108 root教程