看了让你有收获的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的基本类型总结的更多相关文章

  1. 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性

    原文地址 http://www.jb51.net/article/33640.htm 在通过Javascript实现客户端和服务端的交互时,有时候需要对操作系统进行判断,以便实现不同操作系统下的兼容性 ...

  2. JavaScript获取浏览器类型与版本

    从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var S ...

  3. 小结 javascript中的类型检测

    先吐槽一下博客园的编辑器,太不好用了,一旦粘贴个表格进来就会卡死,每次都要用html编辑器写,不爽! 关于javascript的类型检测,早在实习的时候就应该总结,一直拖到现在,当时因为这个问题还出了 ...

  4. JavaScript判断浏览器类型及版本

    JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一 ...

  5. 使用javascript判断浏览器类型

    之前在项目中遇到过要针对不同浏览器做不同的一些js或者css操作,后来某个朋友也突然问到这个问题,所以,整理了一下,在这里留个笔记,方便以后使用. 使用javascript判断浏览器类型: funct ...

  6. Javascript学习1 - Javascript中的类型对象

    原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象. 常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个 ...

  7. 从头开始学JavaScript (十一)——Object类型

    原文:从头开始学JavaScript (十一)--Object类型 一.object类型 一个object就是一系列属性的集合,一个属性包含一个名字(属性名)和一个值(属性值). object对于在应 ...

  8. 第一百零七节,JavaScript基本包装类型,数据类型的方法

    JavaScript基本包装类型,数据类型的方法 学习要点: 1.基本包装类型概述 2.Boolean类型 3.Number类型 4.String类型 为了便于操作基本类型值,ECMAScript提供 ...

  9. JavaScript中值类型和引用类型的区别

    JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null和undefined,它们既不是数字也不 ...

随机推荐

  1. easyui datagrid 单元格编辑 自动聚焦 、全选

    $.extend($.fn.datagrid.methods, { editCell: function (jq, param) { return jq.each(function () { var ...

  2. WebBrowser控件的简单应用2

    原文:WebBrowser控件的简单应用2 第一个简单应用里面讲述的是如何模拟调用当前网页的元素的事件或者赋值/取值.这次的应用讲述的是1:如何处理弹出新页面的事件(总是在我的浏览器里面现实新页面)2 ...

  3. SSAS系列——【03】多维数据(多维数据集对象)

    原文:SSAS系列--[03]多维数据(多维数据集对象) 1.什么是Cube? 简单 Cube 对象由基本信息.维度和度量值组组成. 基本信息包括多维数据集的名称.多维数据集的默认度量值.数据源和存储 ...

  4. 候选键(unique)

    foreign key references  除了关联外键,还可以关联 候选键(unique) 需求 table1 中的  status  int  类型 ,表示状态 ,0 未启动 ,1 已启动,2 ...

  5. MySql绿色版配置及使用详解

    原文:MySql绿色版配置及使用详解 最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySq ...

  6. jQuery UI dialog 參数说明

    前段时间碰到个问题 jquery UI dialog弹出层 弹出多个层是 比方弹出两个层A和B  B层假设显示的数据表格太大,伸到了A层的外面,那伸到A层之外的部分就看不到了,由于B层是在A层上弹出的 ...

  7. 提高mysql千万级数据SQL的查询优化30条总结

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  8. thrift实现js与C#通讯

    利用thrift实现js与C#通讯的实例代码 1.为什么要用thrift js C#? 1.1 首先,js 通过 thrift 访问C#,实际上是一种c/s模式.thrift是通信工具,js是客户端, ...

  9. 增加VMWare开机画面时间,来防止快速跳过而无法进入BIOS

    用记事本打开xx.vmx,在里面添加一行: bios.bootDelay = "30000" 意思是开机后,在开机画面里停留30秒.

  10. Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境

    原文 Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境 很多人喜欢用linux搭建php网页语言运行环境,但由于linux高度自定义化,经常需要root运行命令,略显高端,相对应的微软 ...