extjs源码分析-002(js类型判断)


Ext = {};
//Ext.apply = function(o,c,d){}//见extjs源码分析-001(Ext.apply)

var toString = Object.prototype.toString
Ext.apply(Ext, {
//isFinite --->返回true 表示值是非 NaN 、非负无穷和非正无穷
isNumber : function(v){//是否为数字
return typeof v === 'number' && isFinite(v);
},
isBoolean : function(v){//是否为布尔值
return typeof v === 'boolean';
},
isString : function(v){//是否为字符串
return typeof v === 'string';
},
isNumber : function(v){//是否在有限的数组范围内,不包括无穷大/小
return typeof v === 'number' && isFinite(v);
},
isFunction : function(v){//是否为Function类型
return toString.apply(v) === '[object Function]';
},
isPrimitive : function(v){//判断V的值是否为基本数据类型(数字/字符串/布尔值)
return Ext.isString(v) || Ext.isNumber(v) || Ext.isBoolean(v);
},
isObject : function(v){//判断是否为对象类型
return !!v && Object.prototype.toString.call(v) === '[object Object]';
},
isDate : function(v){//判断v是否为日期对象
return toString.apply(v) === '[object Date]';
},
isArray : function(v){//判断v的类型是否为数组
return toString.apply(v) === '[object Array]';
},
isEmpty : function(v, allowBlank){//判断V是否为空,如果v的值为null,或者v的值未定义,或者v是空数组,或者v的值允许为空则返回空字符串
return v === null || v === undefined || ((Ext.isArray(v) && !v.length)) || (!allowBlank ? v === '' : false);
},
isDefined : function(v){//v-->判断V是否定义
return typeof v !== 'undefined';
},
isElement : function(v) {//返回是否为html元素节点对象
return v ? !!v.tagName : false;
},
isIterable : function(v){//是否可以迭代
//check for array or arguments //数组 或者 多个参数
if(Ext.isArray(v) || v.callee){
return true;
}
//check for node list type //节点数组
if(/NodeList|HTMLCollection/.test(toString.call(v))){
return true;
}
//NodeList has an item and length property 节点下有节点项 //IXMLDOMNodeList has nextNode method, needs to be checked first.
return ((typeof v.nextNode != 'undefined' || v.item) && Ext.isNumber(v.length));
},
})
syncrypto可以用来将一个文件夹里面所有文件同步到另外一个加密的文件夹, 一般来说,可以这样使用: syncrypto                         syncrypto 文件夹A  <---------------------> 加密文件夹B <-------------------> 文件夹C  机器X              (可以放在不安全的地方,例如云存储                机器Y 加密文件夹B的文件都是加密过的,所以可以把它放在不怎么安全的地方(例如云盘,公共硬盘等) 明文文件和加密文件是一一对应的关系,所以每次同步只会添加(删除/修改)那些需要的文件,这样 很适合那些基于文件系统的同步工具,例如云盘、rsync等。 同步过程是双向的,所以,文件不仅仅是从明文文件夹同步到加密文件夹,同样也会从加密文件夹同步到 明文文件夹,syncrypto会根据算法选择最新的。 如果有冲突的话,syncrypto会将明文文件重命名(加上单词conflict),然后将密文文件同步过来 syncrypto是不会删除文件的,如果同步过程需要删除或者覆盖文件,syncrypto会将文件移动 到废纸篓里面。密文文件夹的废纸篓在_syncrypto/trash下,明文文件夹的废纸篓在 .syncrypto/trash下。密文文件夹废纸篓里面的文件一样是加密过的。 主要 Feature : 双向加密同步 加密文件与明文文件是一一对应的关系 灵活的同步规则配置(方便将某些不必要同步的文件排除) 同时支持 Python2,Python3, Windows, Linux, OS X 比较全面的测试用例覆盖 标签:syncrypto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值