JavaScript之类型
来源:互联网 发布:淘宝我的店铺在哪里找 编辑:程序博客网 时间:2024/06/05 14:21
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之类型
- javascript之Boolean类型
- JavaScript规范之类型
- Javascript之Function类型
- javascript之类型转换
- Javascript之Function类型
- javascript之类型陷阱
- JavaScript之引用类型
- JavaScript之字符串类型
- javascript之类型转换
- JavaScript之引用类型
- JavaScript之RegExp类型
- JavaScript之类型转换
- Javascript之 Symbol 类型
- JavaScript之引用类型
- javascript之类型
- JavaScript之类型判断
- Linux中的mips64 tlb管理
- scanf、sscanf中的正则表达式
- 原型模式——设计模式系列
- 用u盘安装ubuntu server 9.10 fail
- Android 编译系统(一):Android.mk的学习
- JavaScript之类型
- make_pair
- EGL语言教程之一:变量与数据类型
- 模拟移动机器人控制(二)
- sax解释xml
- DataGridView通过鼠标右键选中行
- 2012年3月27日23:28:05
- tabview 增加手势判断UIPanGestureRecognizer
- Brackets-学习DP2