js中的数据类型和判断数据类型

基本数据类型,六大基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、对象(Object)、空(Null)、未定义(Undefined)。

1,字符串:string,单引号或者双引号号起来的,就是字符串。

2,数字(Number),数字类型,包括浮是点数整数等。

3,布尔(Boolean),false,true。

4,未定义(undefined),未定义,当一个变量未创建或者创建未赋值的时候就是undefined。

5,空(Null),不存在,dom节点不存在,返回值为null。

6,对象(object),js中万物皆对象。

7,不是基本数据类型,function。

8,数组(array),[]

那么如果有一个变量,如何判断它的数据类型。

1,首先typeof可以解决大部分的数据类型判断。以上1-4和7(8等会再说)都是可以直接(typeof 变量名)返回变量的基本数据类型的,判断某个是否为String类型,可以直接 if(typeof(你的值) == "string"){}。只有null和object返回object类型,这里可以理解成null是一个空对象,但是由于(null == undefined)返回ture。所以可以理解成一个空对象的占位符。

怎么判断null和object类型呢 ?首先判断是不是object,然后在判断是不是null,若是返回null,若不是返回object:

function isObj(str)
{
if(str === null)
{
return false;
}
return typeof str === 'object';
}

那么8返回的也是object,怎么判断呢?instanceof出场。

2,instanceof 用来判断某一个变量是否是某一个对象的实例,是一个三目运算符:a instanceof b?alert("true"):alert("false")  //注意b值是你想要判断的那种数据类型,不是一个字符串,比如Array。

       var a;
var b = 2;
var c = "字符串";
var d = false;
var e = null;
var f = undefined;
var g = [];
       var i = new Object();
var h = function hh(argument) { }
alert(e instanceof Array)
        alert(i instanceof Array)
       alert(g instanceof Array)

此外还有一个constructor,用法跟instance差不多,不多说了。

上面说了这些,其实在用的时候,要组合起来用,先判断变量的类型,再在范围内做下一步的判断就可以。

js中的数据类型和判断数据类型的更多相关文章

  1. JS中的常量(基本数据类型)和内置对象

    JS中的基本数据类型: String .number.null.boolean.undefined.object.symbol(ES6) 1.  利用typeof运算符时其中只有null是异常的,ty ...

  2. JS 中对变量类型判断的几种方式

    文章整理搬运,出处不详,如有侵犯,请联系~   数据类型判断和数据类型转换代码工具 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boo ...

  3. JS中的相等性判断===, ==, Object.is()

    首发地址:http://www.geeee.top/2019/11/15/equality-comparisons/,转载请注明出处 相信刚接触JS的人都会被他的想等性判断给整糊涂,看看下面代码,你能 ...

  4. JS中的数据类型及判断数据类型的方法

    简单类型(基本类型): number,string,boolean,null,undefined 复杂类型(引用类型):object typeof 只能判断基本数据类型 instanceof 能够判断 ...

  5. js数据类型及判断数据类型

    众所周知,js有7种数据类型 1. null 2. undefined 3. boolean 4. number 5. string 6. 引用类型(object.array.function) 7. ...

  6. 关于js中的this之判断this

    this绑定规则的优先级顺序 new操作符绑定 > 显示绑定 > 隐式绑定 > 默认绑定   所以在判断函数在某个调用位置应用的是哪条规则,可以按下列这样的顺序   if(函数在ne ...

  7. js中typeof可以准确判断哪些变量类型

    typeof 运算符返回一个用来表示表达式的数据类型的字符串.  可能的字符串有:"number"."string"."boolean".& ...

  8. [js]js中函数传参判断

    1,通过|| function fun(x,y){ x=x||0; y=y||1; alert(x+y); } fun(); 2.通过undefined对比 function fun(x,y){ if ...

  9. js中true和false判断

    布尔类型里只有这6参数个返回false,其它都为true Boolean(false) // false Boolean(undefined) // false Boolean(null) // fa ...

随机推荐

  1. php 通过http user-agent判断是否为手机浏览器

    <?php/*** 判断是否是通过手机访问* @return bool 是否是移动设备    */public function isMobile() {  //判断手机发送的客户端标志  if ...

  2. ActiveRecord多数据库配置

    ActiveRecord 的多数据库配置基本沿袭了 NHibernate 的思想,只不过在配置文件结构上作了些调整.NHibernate的配置也是基于配置得来的,配置多个SessionFactory传 ...

  3. XDU 1140 寻找万神(字符串匹配)

    学会strstr的使用 strstr(str1,str2)函数用于判断字符串str2是否是str1的子串.如果是,则该函数返回str2在str1中首次出现的地址:否则,返回NULL. #include ...

  4. zabbix 4.0 安装配置

    1.安装软件包: 1.安装软件包: yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap ...

  5. 原生js 操作dom

    1.一些常用的方法 obj.getElementById() 返回带有指定 ID 的元素. obj.getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节 ...

  6. ABP官方文档翻译 2.4 日志

    日志 服务端 获取记录器 基类日志记录器 配置 Abp.Castle.Log4Net包 客户端 服务端 ABP使用Castle Windsor`s 日志设备.它可以使用不同的日志类库:Log4Net, ...

  7. 一个UUID生成算法的C语言实现——WIN32版本

    源: 一个UUID生成算法的C语言实现——WIN32版本

  8. PHP之PDO_MYSQL扩展安装步骤

    转载地址:http://www.cnblogs.com/qq78292959/p/4084868.html 看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下. 这里我的系统是 ...

  9. 20145303 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...

  10. MysQL使用一高级应用(上)

    简介 实体与实体之间有3种对应关系,这些关系也需要存储下来 在开发中需要对存储的数据进行一些处理,用到内置的一些函数 视图用于完成查询语句的封装 事务可以保证复杂的增删改操作有效 关系 创建成绩表sc ...