JavaScript中的数据类型总结
Javascript是一种弱类型语言,没有明确的类型分类;网上分类的方式比较多,个人感觉不比去特别的追究细分是什么什么类型,若是能够明确的分出类型的话,javascript就不是弱类型语言,又由于大家所使用的主体语言概念不完全相同(像C#,PHP,C语言等),分类的时候就会根绝自己的主体语言的习惯来分类,无论怎样分类只要有助于自己的理解,能够方便,正确灵活的使用就可以了;下面是两是种常见的分类方式和一些必须了解的基础用法知识;
一、第一种分类方式,也是比较常见的一种分类方法:
分为9种类型:分别是Undefined,Boolean,Object,Number,Null,String,Reference,List,Completion,其中Reference,List,Completion三种类型仅共语言解析运行时使用,无法从程序中直接访问;下面一一介绍;
1、Undefined 类型:是全局对象window的一个特殊属性,顾名思义就是未定义的意思;Undefined类型只有一个值Undefined,表示一个变量定义了但未赋值;
如:var a; alert(a); // 弹出undefined;
下面是几种常见的会出现undefined的情况:
(1)获取一个对象的属性(原本属性和protoType扩展的属性)不存在时,返回undefined;
(2)当一个函数function(){}没有明确的返回值时,显示undefined,例子:function way(){} alert(way());//弹出undefined;
(3)javascript中的参数有多个形参的话,若果调用参数的话,参数数量小于形参数量,那么其他的参数值就为undefined;
2、Null类型:null是javascript保留的关键字,null类型也只有一个null值,表示为空或者不存在的对象引用;
(1)javascript中的if()判断语句无论是null类型还是undefined类型他们的返回值都是false,也就是说一个变量若是null 或者undefined那么他就为false;
if (null){
alert("sdf");//进入不了
}
if (undefined){
alert("sdfsdf");//进入不了
}
var a=12;
if (a){
alert("sdf"); //能进入
}
3、Number类型:表示数值,包含了所有的数值类型,不像高级语言那么细分成int,double,deciable,他的取值范围是:1.7976931348623157E+308到-1.7976931348623157E+308之间,就是1.7976931348623157*10的308次方到-1.7976931348623157*10的308次方之间;Number类型有一个特殊的值NaN,他是Number类型中一个非数值的值,就像无穷大,所以NaN不等于NaN;
4、Object类型:用来表示一个对象,像String, Array,new 一个对象等,当这个对象为空时,就是null了;所以alert( typeof(null))的弹出值为object;
5、String类型:string类型是javascript中的一个比较重要的类型,它用来表示一个字符串,我们在写脚本的时候需要处理很多的字符串,所以javascript库中也提供了很多字符串处理方法,网上已有很多资料了,这里就不一一细说了;
6、Boolean类型:布尔类型大家都很熟悉,这里说几个他的特殊用法:(1)boolea类型和Number类型相结合时,true转化为1,false转化为0;
var a = true;
alert(a+1);//弹出2
var a = true;
alert(a);//弹出true
上述六种类型也可以相互转化,基本上是数值和字符串和布尔值之间的转化:
(1) Number类型转化为string类型,用tostring();
(2) String类型转化为Number,用Number();
var str = "123";
var num = 1;
alert(str + num);//弹出1231
alert(Number(str)+num) //弹出124
也可以使用全局函数parseInt()和parseFloat()来进行转换;parseInt()和parseFloat()的区别是Number()转换是整个值,而parseInt()和parseFloat()则可以只转换开头的数字部分。
alert(Number("123asdf"));//弹出NaN
alert(Number("1.2.3"))//弹出NaN
alert(parseInt("123sdf"));//弹出123
alert(parseFloat("sdfsdf"));//弹出NaN
alert(parseInt("sdf345"))//弹出NaN
Number()在转化的过程中布尔类型的true和false分别被转化为1和0其他的不能转化为数值的全部转化NaN。
alert(Number(true));//弹出1
alert(Number(false));//弹出0
alert(Number(null));//弹出0
其他的若是不能转化为数值类型的,基本上全转化为NaN;
扩展小知识:(1)判断一个变量是否是数值,用IsNan()方法;
(2)在javascript中==和===的区别: "==" 只要求值相等; "===" 要求值和类型都相等;
(3)instanceof只是用于判断object是否是class类的一个实例,是的话返回true,否则返回false;alert(a instanceof String);
二、第二种分类方法:用typeof()关键字来分类,可以分为:undefined,number,string,boolean,object,function
|
类型 |
例子 |
运行结果 |
|
Undefined |
var a1; alert(typeof(a1)); function way{} alert(way()); alert(typeof(way())) |
undefined |
|
number |
Var num1=12; alert(typeof(num1)); |
number |
|
string |
Var num2=”12”; alert(typeof(num2)); |
string |
|
boolean |
Var flag=true; alert(typeof(flag)); |
boolean |
|
object |
Var str=new string(); alert(typeof(str)); Var a=null; alert(typeof(a)); |
object |
|
function |
alert(typeof(String)); |
function |
JavaScript中的数据类型总结的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- javaScript中的数据类型
一.综述 javaScript中的数据类型分为两类: 简单类型:Boolean,Number,String 引用类型:Object 其他:undefined代表变量没有初始化,null代表引用类型为空 ...
- Javascript中的数据类型之旅
虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型, ...
- 【译】Javascript中的数据类型
这篇文章通过四种方式获取Javascript中的数据类型:通过隐藏的内置[[Class]]属性:通过typeof运算符:通过instanceof运算符:通过函数Array.isArray().我们也会 ...
- javascript 中检测数据类型的方法
typeof 检测数据类型 javascript 中检测数据类型有好几种,其中最简单的一种是 typeof 方式.typeof 方法返回的结果是一个字符串.typeof 的用法如下: typeof v ...
- 鉴定JavaScript中的数据类型
众所周知,JavaScript是一门弱类型的语言,但是这并不代表JavaScript中没有数据类型.JavaScript中常见的数据类型有string.number.object等等,通常我们使用ty ...
- JavaScript中基本数据类型之间的转换
在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型.五种基本数据类型分别是:Number 数值类型.String 字符串类型.Boolean 布尔类型, nu ...
- JavaScript中基本数据类型和引用数据类型的区别(栈——堆)
JavaScript中基本数据类型和引用数据类型的区别 1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据 ...
- 面试说:聊聊JavaScript中的数据类型
前言 请讲下 JavaScript 中的数据类型? 前端面试中,估计大家都被这么问过. 答:Javascript 中的数据类型包括原始类型和引用类型.其中原始类型包括 null.undefined.b ...
- 简单回忆一下JavaScript中的数据类型
说到JavaScript,大家都应该知道,它是一门脚本语言,也是一门弱类型语言,也是一门解析型的语言,同时也是一门动态类型的语言. 很好,至于JavaScript中数据类型.其分为基本数据类型和复杂数 ...
随机推荐
- Linux用户创建及权限管理
作业一: 1,新建用户natasha,uid为1000,gid为555,备注信息为“master” useradd natasha vim /etc/passwd ...
- python的复制,深拷贝和浅拷贝的区别(转)
在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有三种方法, alist=[1,2,3,[& ...
- javascript和bigint
http://note.youdao.com/noteshare?id=91e21eb1d8c20025d72d7ee6f401e34d
- 组合计数 && Stirling数
参考: http://blog.csdn.net/qwb492859377/article/details/50654627 http://blog.csdn.net/acdreamers/artic ...
- [DeeplearningAI笔记]卷积神经网络1.2-1.3边缘检测
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.2边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: 边缘检测的原理是通过一个特定构造的卷积核对原始图 ...
- sqlserver 2008备份与还原
一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dside ...
- 优先队列 逆向思维 Gym 101128C
题目链接:http://codeforces.com/gym/101128/my 具体题目大意可以看这个人的:http://blog.csdn.net/v5zsq/article/details/61 ...
- Distributed Systems 分布式系统
先来扯淡,几天是14年12月31日了,茫茫然,2014就剩最后一天了.这两天国大都放假,我给自己安排了四篇博客欠账,这就是其中的第一篇,简单介绍一些分布式系统的一些概念和设计思想吧.后面三篇分别是Ne ...
- CSS浏览器兼容问题集-第四部分
12.FireFox下如何使连续长字段自动换行 众所周知IE中直接使用 word-wrap:break-word 就可以了, FF中我们使用JS插入 的方法来解决 <style type=&qu ...
- BestCoder Round #40 解题报告
这场是第一场没有米的BC... 大概也是想震一震那些一听说没米了就不打BC的人吧 这次的题目质量比以往高了许多 (然而我并没有打这一场BC 但是今天下午到现在做的过程中真的学到了不少知识呢 A题略水. ...