`
y1d2y3xyz
  • 浏览: 257167 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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));
        },
})
分享到:
评论

相关推荐

    Extjs源码之--Ext事件机制/继承关系

    在深入EXTJS源码时,理解EventManager.js的工作原理对于优化应用性能和解决事件相关问题至关重要。EXTJS事件系统的高效性和灵活性使得开发者能够构建高度交互的Web应用程序,同时保持代码的可维护性。通过对Event...

    ExtJs常用布局--layout详解实例代码

    ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...

    extjs-620-docs.zip

    extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档

    extjs-theme-bootstrap

    EXTJS4 是 Sencha 公司推出的一款强大的 JavaScript 框架,专为构建富客户端 Web 应用程序而设计。它提供了丰富的组件库、数据管理、强大的图表以及灵活的布局系统,使得开发者能够轻松创建功能丰富的交互式界面。...

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    ExtJS----HelloWorld程序源码

    ExtJS是一个基于JavaScript的富客户端应用开发框架,用于构建交互式、桌面级的Web应用程序。它的核心特性包括组件化UI、数据绑定、强大的表格和图表功能、以及对现代浏览器的良好支持。"HelloWorld"是编程领域的传统...

    ExtJS快速入门--传智播客--蔡世友

    ExtJS快速入门--传智播客--蔡世友

    ExtJS3.0 源码分析与开发实例宝典

    ExtJS3.0 源码分析与开发实例宝典

    ExtJS源码分析与开发实例宝典

    资源名称:Ext JS源码分析与开发实例宝典内容简介:本书全面系统地剖析了ExtJS 3.0的架构设计原理。通过对源码的“抽丝剥茧”,读者可以掌握Ext JS架构的精妙,从原理层面用活Ext JS。此外,本书还提出了大量的解决...

    extJs-5.0.1-gpl(part1)

    extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分

    extjs extjs-basex.js

    extjs-basex.js extjs-basex.js extjs-basex.js

    Extjs-ext-3.1.1

    Ext JS - JavaScript Library Copyright (c) 2006-2009, Ext JS, LLC All rights reserved. licensing@extjs.com http://extjs.com/license Open Source License Ext is licensed under the terms of the Open ...

    EXTJS源码分析与开发实例宝典-开发的效果图.rar

    从压缩包子文件的文件名称"EXTJS源码分析与开发实例宝典-开发的效果图.pdf"来看,这可能是一个PDF文档,包含了EXTJS的源码分析和开发实例的详细教程,很可能还包含了各种示例应用的截图,以直观地展示EXTJS的组件和...

    extjs2----关于extjs 的使用,操作

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。在标题"extjs2----关于extjs 的使用,操作"中,我们可以看出这是一份关于ExtJS 2.0版本的使用指南,主要涵盖了其基本操作和应用。描述中提到内容...

    ExtJS源码分析与开发实例宝典4.pdf

    这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...

    extjs-theme-bootstrap-master.zip

    ExtJS 是一个强大的JavaScript应用程序框架,它提供了丰富的用户界面组件和功能,用于构建富客户端Web应用。Bootstrap 是一个流行的前端开发框架,用于快速构建响应式和移动优先的网站。"extjs-theme-bootstrap-...

    ExtJS源码分析与开发实例宝典2.pdf

    这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...

    ExtJS源码分析与开发实例宝典0.pdf

    这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...

    extjs-OA extjs-oa

    一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa

    ExtJS源码分析与开发实例宝典1.pdf

    这个是《ExtJS源码分析与开发实例宝典》高清版本,是本人花钱买来的,所以分享给大家,希望大家喜欢,由于本人一次只能上传60M大的文件(试了好多次,每次都上传到99%就不动了,还以为csdn在后台审核内容呢,害我电脑...

Global site tag (gtag.js) - Google Analytics