JavaScript之类型

原创 2012年03月28日 00:08:50

1.类型转换

在JS代码中通常可以发现这样的代码:

if(datamodel.item){

//  do something....

}else {

datamodel.item = new Item();

}


这种写法事实上具有更深层次的含义:

应该注意到,datamodel.item是一个对象(字符串,数字等),而if需要一个boolean型的表达式,所以这里进行了类型转换。在JAVASCRIPT中,如果上下文需要booleanx型的值,则引擎会自动将对象转换为boolean类型,转换规则为,如果该对象非空,则转换为TRUE,否则为FALSE.因此我们可以采用这种简写的形式。


2.类型判断

JavaScript是一个弱类型的语言,但是有时我们需要知道变量在运行时的类型,比如,一个函数的参数语气为另一个函数:

function handleMessage(message,handle){

return handle(message);

}

当调用handleMessage的函数传递的handle不是一个函数则  JavaScript引擎会报错,因此我们有必要在调用之前进行判断:

      function handleMessage(message,handle){

       if(typeof handle=="function"){

        return handle(message);

}  else{

  throw new Error("the2nd argumeng should be a function");


但是,typeof并不总是有效的,比如下面这种情况:

var obj ={};

var array=["one","two","three","four"];

print(typeof obj);   //object

print(typeof array);   //object

运行结果显示,对象obj和数组array的typeof值均为"object" ,这样我们就无法准确判断了,这时候,可以通过调用

instanceof来进行进一步的判断:

print(obj instanceof  Array);    //false

print(array instanceof Array);  //true

第一行代码返回false,第二行则返回true,因此,我们可以将trpeof操作符和instanceof操作符结合起来进行判断。

}

}                                                 

《Javascript权威指南》学习笔记之十四:JavaScript内建类

Arguments类代表函数参数作为数组元素作为存储,可以按访问数组元素的方法访问参数。arguments.length表示参数的数目。但是,不能用for...in循环访问arguments对象,需用...
  • u011043843
  • u011043843
  • 2014年06月07日 16:53
  • 1347

JavaScript基础——基本概念:数据类型及其转换

任何语言的核心必然会描述这门语言最基本的工作原理。而描述的内容通常都要设计这门语言的语法、操作符、数据类型、内置功能等用于构建复杂解决方案的基本概念。 语法 ECMAScript的语法大量借鉴了C...
  • Goskalrie
  • Goskalrie
  • 2016年05月23日 17:34
  • 4536

【JavaScript】JavaScript之快速入门

一、基本概念         JavaScript是一种基于对象(Object Based)和事件驱动(Event Driver)的脚本语言,它本身提供了非常丰富的内部对象供开发人员使用。    ...
  • fu_zk
  • fu_zk
  • 2014年04月10日 18:46
  • 5549

javascript获取设备类型,设备名称操作系统等

  • 2017年12月22日 15:56
  • 122KB
  • 下载

JavaScript的数据类型问题

  • 2012年09月29日 13:33
  • 16KB
  • 下载

第2章 JavaScript数据类型和运算符

  • 2017年07月16日 09:08
  • 625KB
  • 下载

javascript date类型转成OLE(double)

  • 2012年02月28日 17:11
  • 630B
  • 下载

javascript控制上传文件的大小及文件类型

  • 2007年08月31日 17:02
  • 3KB
  • 下载

javascript类型jsTip的提示信息

  • 2011年03月24日 11:44
  • 2KB
  • 下载

JavaScript之数据类型

  • 2013年07月02日 07:51
  • 332KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript之类型
举报原因:
原因补充:

(最多只允许输入30个字)