博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

js里面的split

Posted on 2011-03-14 17:19  sigo-yr  阅读(1850)  评论(4编辑  收藏  举报
先看一段代码:

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时,遇到变量操作,尽量手动将类型转化下

流量统计