您的位置:首页 > Web前端 > JavaScript

《Javascript秘密花园》学习笔记(终)

2016-04-23 14:11 591 查看
实践了许多代码后,回头再看《Javascript秘密花园》,又有一些收获,与诸君分享

数组

typeof运算符

Value               Class      Type
-------------------------------------
"foo"               String     string
new String("foo")   String     object
1.2                 Number     number
new Number(1.2)     Number     object
true                Boolean    boolean
new Boolean(true)   Boolean    object
new Date()          Date       object
new Error()         Error      object
[1,2,3]             Array      object
new Array(1, 2, 3)  Array      object
new Function("")    Function   function
/abc/g              RegExp     object (function in Nitro/V8)
new RegExp("meow")  RegExp     object (function in Nitro/V8)
{}                  Object     object
new Object()        Object     object


可以看出,typeof运算符主要有这些值:object,string,number,function.使用new关键字创建的对象除去function外typeof运算符都会得到object.但在判断string和number之间很好用,尤其是数组中的元素是否为string或number

//给出一个数组
var test = [1,'1',true,new Function(""),'asd',function(){}];
typeof test[0]//number
typeof test[1]//string
typeof test[2]//boolean
typeof test[3]//function
typeof test[4]//string
typeof test[5]//function


由上段代码可以看出typeof运算符在对非new关键字创建的元素类型【尤其是数组元素类型】判断上很好用。注意1和‘1’的判断。

所以要判断数组中的元素是否为数值类型(Number),可以这样写:

var test = [12,'123',123,'2222','agc'];
for(var i=0,len=test.length;i<len;i++){
console.log(typeof test[i])
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript