码迷,mamicode.com
首页 > Web开发 > 详细

isString, isArray, isJson

时间:2015-10-27 19:37:47      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

Javascript中检验字符串、数组、json的方法:

  1.isString:

function isString(str){
    return str instanceof String || typeof str==‘string‘;
}

  js中创建字符串有两种方式:

var str = ‘zifuchuan‘;
var str = new String(‘zifuchuan‘);

  这两种方式有什么区别呢?我们来看例子:

function isString(str){
    return str instanceof String;       
}
var str1 = ‘zifuchuan‘;
var str2 = new String(‘zifuchuan‘);
console.log(isString(str1));//结果是false;
console.log(isString(str2));//结果是true;

  嗯?有看到区别吧。再来看:

function isString(str){
    return typeof str == ‘string‘;
}
var str1 = ‘zifuchuan‘;
var str2 = new String(‘zifuchuan‘);
console.log(isString(str1));//结果是true;
console.log(isString(str2));//结果是false;

  嗯?精神分裂,看到区别但是合不起来?看:

function isString(str){
    return str instanceof String || typeof str == ‘string‘;
}
var str1 = ‘zifuchuan‘;
var str2 = new String(‘zifuchuan‘);
console.log(isString(str1));//结果是true;
console.log(isString(str2));//结果也是true;

  

  2.isArray:

function isArray(arr){
    return arr instanceof Array;
}
var arr1 = [1, 2, 3];
var arr2 = new Array(1, 2, 3);
console.log(isArray(arr1));//true;
console.log(isArray(arr2));//true;

  创建数组的两种方法结果都一样。

 

  3.isJson

function isJson(obj){
    return obj.constructor == Object;
}
var json = {"a":1, "b":2};
console.log(isJson(json));//true

  json的检测用到了constructor,说到constructor就不得不说prototype,那有的朋友就会问,说了prototype,为什么不说说面向对象呢?你看,这一说就停不下,就没完了,所以,我选择不说。^_^

  

isString, isArray, isJson

标签:

原文地址:http://www.cnblogs.com/gaopy/p/4915177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!