2012-06-05 44 views
0

请您向我解释以下内容。尝试比较对象属性:vrowData对象的newName。得到回值report3report2,然而比较(rowData.newName === v.newName)这些值是相等的??!请参阅下面的控制台消息比较属性时出现奇怪的结果

值是字符串,属于不同的对象。

 
console.log('== NEW NAME OF THE VALE OF TABLE =='); 
console.log(v.nameNew); // which is report3 
console.log('== NEW NAME OF THE DATA OF THE ROW =='); 
console.log(rowData.nameNew); // which is report2 
console.log('== IDIOT PROOF TEST '); 
console.log(rowData.newName === v.newName); 

控制台登录:

 
== NEW NAME OF THE VALE OF TABLE == 
Report3 
== NEW NAME OF THE DATA OF THE ROW == 
Report2 
== IDIOT PROOF TEST 
true 
+0

“nameNew”的类型是什么?他们是如何申报的? – Joseph

回答

5

不知道,如果输入错误,但你登录

console.log(v.nameNew); 

你再比较

v.newName 

如果你犯了一个错误,并实际上比较正确的变异你可以发布更多的代码(你如何声明和分配它们)

+4

由于'newName'属性都是未定义的,他们通过'==='测试。 –

+0

干杯,队友。期待我的holidyas,这是一个错误! –

+1

这样的错误很容易做出来,有时很难察觉,特别是在js中! –