js里面的split
时间:2011-03-14 来源:杨锐-->天柱山
先看一段代码:
commentId = ""; //先清空
$("input[type=checkbox][id^='chk_']").each(function () {
if ($(this).attr("checked") == true) {
commentId += $(this).val() + ",";
}
});
commentId = commentId.substr(0, commentId.length - 1);
commentId.toString().split(',')
当commentId只有一个值时,例如commentId=8000,那么在进行下面的split时就必须先转换成字符串类型,也就是toString()。如果不转换,就会报错“不支持此方法”。
而当commentId中包含多个值时则正常。
原因是什么呢?
因为如果只有一个值时,在进行substr操作时,由于去掉了最后一个逗号,js默认将commentId转换为int型了,所以当然就不支持split了。
就这么一个小的细节,让我纠结了好久啊!!!以前也遇到过文本框里的值是-1,但是做比较判断时,居然比1大???
原因也是因为没有事先把-1转换为整型导致的,哈哈……
因此不得不汲取教训了:在写js时,遇到变量操作,尽量手动将类型转化下。
相关阅读 更多 +