上篇文章「JavaScript检测原始值、引用值、属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://github.com/stone0090/s-fontend/tree/master/me/basevalidate

basevalidate.js 包含 14个独立检测方法1个综合检测方法,示例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>basevalidate test</title>
<script type="text/javascript" src="basevalidate.js"></script>
<script> var Person = function(){
this.name = 'stone';
this.age = 30;
} var person = new Person();
var nums = [123, 456, 789]; // 14个独立检测方法
console.log(baseValidate.isString(null));
console.log(baseValidate.isNumber(null));
console.log(baseValidate.isBoolean(null));
console.log(baseValidate.isUndefined(null));
console.log(baseValidate.isNull(null));
console.log(baseValidate.isObject(null));
console.log(baseValidate.instanceOf(null));
console.log(baseValidate.isFunction(null));
console.log(baseValidate.isArray(null));
console.log(baseValidate.isProperty(null));
console.log(baseValidate.isOwnProperty(null));
console.log(baseValidate.isDomProperty(null));
console.log(baseValidate.isBomProperty(null));
console.log(baseValidate.isEmpty(null)); // 1个综合检测方法 baseValidate(value, object),等价于 baseValidate.validateAll(value ,object)
console.log(baseValidate('123'));
console.log(baseValidate(123));
console.log(baseValidate(true));
console.log(baseValidate(person, Person));
console.log(baseValidate(nums));
console.log(baseValidate('age', person));
console.log(baseValidate('name', person));
console.log(baseValidate(alert));
console.log(baseValidate(document.getElementById)); // 以下皆为 isEmpty() 方法为 false 的情况
console.log(baseValidate()); // 不传参数,参数默认为 undefined
console.log(baseValidate(null));
console.log(baseValidate(''));
console.log(baseValidate(0));
console.log(baseValidate(false));
console.log(baseValidate({}));
console.log(baseValidate([]));
console.log(baseValidate(NaN)); </script>
</head>
<body></body>
</html>

测试结果如下:

不知道大家有没有发现,其中一个结果好像不太正确,console.log(baseValidate('name', person)) 为什么会输出 isBomProperty: true,这是因为window 对象中也有 name 属性,所以 name 也被认为是 BOM 的属性。

欢迎关注微信公众号「劼哥舍」,老斯基带你飙车。

JavaScript检测之basevalidate.js的更多相关文章

  1. Javascript检测浏览器对CSS属性的支持 /* supports */

    //检测浏览器对CSS属性的支持 supports = (function() { var div = document.createElement('div'), vendors = 'Khtml ...

  2. 使用JavaScript检测浏览器

    假设你真的需要检测浏览器的类型,使用JavaScript非常easy达到. View Demo Download Source from GitHub JavaScript有一个navigator的标 ...

  3. javascript基础入门之js中的数据类型与数据转换01

    javascript基础入门之js中的数据结构与数据转换01 js的组成(ECMAScript.BOM.DOM)        js中的打印语句:        数据类型        变量      ...

  4. JavaScript性能优化篇js优化

    JavaScript性能优化篇js优化   随着Ajax越来越普遍,Ajax引用的规模越来越大,Javascript代码的性能越来越显得重要,我想这就是一个很典型的例子,上面那段代码因为会被频繁使用, ...

  5. 初探JavaScript(三)——JS带我"碰壁"带我飞

    已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...

  6. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  7. 强大的JavaScript动画图形库mo.js

    最近在学习前端动画方面知识时发现了挺有趣的一个动画的图形库mo.js,页面效果真是酷炫,有兴趣的同学可以研究下:). 酷炫的效果: 以下是官方的demo效果,更多详情请查看 mo.js http:// ...

  8. 省市县 三级 四级联动Javascript JQ 插件PCASClass.js

    想要使用这款组件,需要页面引入 PCASClass.js 核心文件,该文件在您的HTML文档<head>标签之内. <script type="text/javascrip ...

  9. javascript检测当前浏览器是否为微信浏览器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

随机推荐

  1. kiki's game

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: ...

  2. SSH2配置事务的两种方式

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. 去掉firefox点击按钮时的虚线边框

    去掉火狐里面点击按钮时候的虚线边框 button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[t ...

  4. transform的2D部分,嗯…就这个标题了。

    上一次写了transition的内容,这次就写拼写很类似的另外一个属性transform好了……我英语差这件事就不要吐槽了,下面是正文,真的: transition是过渡,transform是变换. ...

  5. Hortonworks 用于做 Sentimental Analysis的Hiveddl.sql 文件

    The hiveddl.sql script has performed the following steps to refine the data: Converted the raw Twitt ...

  6. [原创]Windows下Google V8 javascript引擎编译

    项目用到将v8嵌入到C++的情况,公司没时间研究,只有在家研究,编译过程一堆坑.记录一下. 网上百度的都是基于vs2010,或者早版本的v8编译,最新版本应该使用vs2013\vs2015.本文介绍的 ...

  7. Simple Daemon Shell

    PROPATH="/var/www/html/" PROGRAM="vertical" LOGNAME="/tmp/monitor.vertical. ...

  8. CAS实现单点登录流程

    CAS实现单点登录 环境 客户端: www.app1.com CAS服务器: www.cas-server.com 1.浏览器:发起请求 www.app1.com 2. 客户端:Authenticat ...

  9. jQuery的类数组对象结构

    Query就是为了获取DOM.操作DOM而存在的 所以为了更方便这些操作,让节点与实例对象通过一个桥梁给关联起来,jQuery内部就采用了一种叫"类数组对象"的方式作为存储结构,所 ...

  10. 从数据库中导出.csv文件

    需求: 本次将数据库中的数据导出成.csv文件(office可以打开), //数据的生成,根据你所选中的数据进行生成 //params:$activity_id -> 活动的id //param ...