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 ...
随机推荐
- testng日志 ITestListener
上一节我们写一个日志类 extends TestListenerAdapter ----------TestListenerAdapter 是 ITestListener 实现的一个类 这一节,我 ...
- HTML5游戏开发系列教程5(译)
原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...
- 聊一聊python的单例模式
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...
- PKU 2559 Largest Rectangle in a Histogram(单调栈)
题目大意:原题链接 一排紧密相连的矩形,求能构成的最大矩形面积. 为了防止栈为空,所以提前加入元素(-1,0) #include<cstdio> #include<stack> ...
- http超文本传输协议,get与post区别
一:什么是http? http:超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端传输的标准,是应用层通信协议.客户端是中端用户,服务器端是网站 ...
- bin2lib shell脚本
#!/bin/sh#输入文件名filename=$1#分割文件大小filesize=4096#输出库文件名libname="lib"$(echo $filename | tr . ...
- oracle lpad 函数使用介绍
函数介绍 lpad函数从左边对字符串使用指定的字符进行填充.从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思. 语法格式如下: lpad( string ...
- jvm学习(重点)
http://blog.csdn.net/yfqnihao/article/details/8271665 http://blog.csdn.net/cutesource/article/detail ...
- Activiti:创建activiti工程
Activiti:创建activiti工程 一.Activiti下载: 1,Activiti下载地址:https://github.com/Activiti/Activiti/releases 2,A ...
- 20145309《Java程序设计》第七周学习总结
教材学习内容总结 第13章 时间与日期 13.1 认识时间与日期 13.1.1 时间的度量 格林威治时间(GMT) 世界时(UT) 国际原子时(TAI) 世界协调时间(UTC) Unix时间:Unix ...