js中的数据类型和判断数据类型
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中的数据类型和判断数据类型的更多相关文章
- JS中的常量(基本数据类型)和内置对象
JS中的基本数据类型: String .number.null.boolean.undefined.object.symbol(ES6) 1. 利用typeof运算符时其中只有null是异常的,ty ...
- JS 中对变量类型判断的几种方式
文章整理搬运,出处不详,如有侵犯,请联系~ 数据类型判断和数据类型转换代码工具 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boo ...
- JS中的相等性判断===, ==, Object.is()
首发地址:http://www.geeee.top/2019/11/15/equality-comparisons/,转载请注明出处 相信刚接触JS的人都会被他的想等性判断给整糊涂,看看下面代码,你能 ...
- JS中的数据类型及判断数据类型的方法
简单类型(基本类型): number,string,boolean,null,undefined 复杂类型(引用类型):object typeof 只能判断基本数据类型 instanceof 能够判断 ...
- js数据类型及判断数据类型
众所周知,js有7种数据类型 1. null 2. undefined 3. boolean 4. number 5. string 6. 引用类型(object.array.function) 7. ...
- 关于js中的this之判断this
this绑定规则的优先级顺序 new操作符绑定 > 显示绑定 > 隐式绑定 > 默认绑定 所以在判断函数在某个调用位置应用的是哪条规则,可以按下列这样的顺序 if(函数在ne ...
- js中typeof可以准确判断哪些变量类型
typeof 运算符返回一个用来表示表达式的数据类型的字符串. 可能的字符串有:"number"."string"."boolean".& ...
- [js]js中函数传参判断
1,通过|| function fun(x,y){ x=x||0; y=y||1; alert(x+y); } fun(); 2.通过undefined对比 function fun(x,y){ if ...
- js中true和false判断
布尔类型里只有这6参数个返回false,其它都为true Boolean(false) // false Boolean(undefined) // false Boolean(null) // fa ...
随机推荐
- php 通过http user-agent判断是否为手机浏览器
<?php/*** 判断是否是通过手机访问* @return bool 是否是移动设备 */public function isMobile() { //判断手机发送的客户端标志 if ...
- ActiveRecord多数据库配置
ActiveRecord 的多数据库配置基本沿袭了 NHibernate 的思想,只不过在配置文件结构上作了些调整.NHibernate的配置也是基于配置得来的,配置多个SessionFactory传 ...
- XDU 1140 寻找万神(字符串匹配)
学会strstr的使用 strstr(str1,str2)函数用于判断字符串str2是否是str1的子串.如果是,则该函数返回str2在str1中首次出现的地址:否则,返回NULL. #include ...
- zabbix 4.0 安装配置
1.安装软件包: 1.安装软件包: yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap ...
- 原生js 操作dom
1.一些常用的方法 obj.getElementById() 返回带有指定 ID 的元素. obj.getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节 ...
- ABP官方文档翻译 2.4 日志
日志 服务端 获取记录器 基类日志记录器 配置 Abp.Castle.Log4Net包 客户端 服务端 ABP使用Castle Windsor`s 日志设备.它可以使用不同的日志类库:Log4Net, ...
- 一个UUID生成算法的C语言实现——WIN32版本
源: 一个UUID生成算法的C语言实现——WIN32版本
- PHP之PDO_MYSQL扩展安装步骤
转载地址:http://www.cnblogs.com/qq78292959/p/4084868.html 看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下. 这里我的系统是 ...
- 20145303 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...
- MysQL使用一高级应用(上)
简介 实体与实体之间有3种对应关系,这些关系也需要存储下来 在开发中需要对存储的数据进行一些处理,用到内置的一些函数 视图用于完成查询语句的封装 事务可以保证复杂的增删改操作有效 关系 创建成绩表sc ...