所以..
我将数据传递给处理字符串和数字的函数。
我希望能够传递一组值并检测每个值的类型。
row[0] = 23;
row[1] = "this is a string... look at it be a string!";
row[2] = true;
$.each(row, function(){
alert(typeof(this));
//alerts object
});
是否可以检测给定行中的“实际”数据类型?
答案 0 :(得分:5)
尝试
var row = [ 23, "this is a string", true ];
$.each(row, function (index,item) {
alert(typeof(item));
});
// Alerts "number", "string", "boolean"
我尽可能避免在回调中使用“this”,并且使用显式参数通常更清晰,更可预测。
答案 1 :(得分:3)
也可以通过
this
关键字访问该值,但Javascript将始终将this
值包装为Object
,即使它是一个简单的字符串或数字值。
this.valueOf()
可能会帮助您“回归”原始价值。但仍然 - 在这个具体的例子中,最好使用作为函数参数传递的值。