javascript [object Window] 在一个连接字符串中
javascript [object Window] in a concat string
我正在尝试根据受尊重的数据类型进行循环和添加。
我假设 ID 和 Type 将在下面的代码中放在一起,但我用 [object Window] 代替了 ID。
这是我的代码:
//List array FriendID and Type
var friendArray=[];
$('.active').each(function(i, obj) {
friendID = $(this).siblings('span:first').data('type');
console.log(friendID); //#1
friendType = $(this).data('type');
friendStr = toString(friendID).concat(friendType);
console.log(friendStr); //#2
//Loop through & Add
if(friendArray.indexOf(friendStr) == -1) {
friendArray.push(friendStr);
}
});
标记为#1 的 friendID 显示正确的#,即 5, 4, 6
等等...
但是,标记为 #2 的 friendStr 在打印时显示 ["[object Window]Type1", "[object Window]Type2", "[object Window]Type1"]
...
如果我删除了 toString() 函数,控制台会给我一个 friendID.concat 错误。
有什么建议吗?
因为调用toString(friendID)
是在调用window.toString()
方法returns[object Window]
,你可以说
String(friendID).concat(friendType);
//or
'' + friendID + friendType
//or just
friendID + friendType //since friendType is a string
我正在尝试根据受尊重的数据类型进行循环和添加。 我假设 ID 和 Type 将在下面的代码中放在一起,但我用 [object Window] 代替了 ID。 这是我的代码:
//List array FriendID and Type
var friendArray=[];
$('.active').each(function(i, obj) {
friendID = $(this).siblings('span:first').data('type');
console.log(friendID); //#1
friendType = $(this).data('type');
friendStr = toString(friendID).concat(friendType);
console.log(friendStr); //#2
//Loop through & Add
if(friendArray.indexOf(friendStr) == -1) {
friendArray.push(friendStr);
}
});
标记为#1 的 friendID 显示正确的#,即 5, 4, 6
等等...
但是,标记为 #2 的 friendStr 在打印时显示 ["[object Window]Type1", "[object Window]Type2", "[object Window]Type1"]
...
如果我删除了 toString() 函数,控制台会给我一个 friendID.concat 错误。
有什么建议吗?
因为调用toString(friendID)
是在调用window.toString()
方法returns[object Window]
,你可以说
String(friendID).concat(friendType);
//or
'' + friendID + friendType
//or just
friendID + friendType //since friendType is a string