behavior of '== 'with objects in Javascript
behavior of '== 'with objects in Javascript
我知道'=='和'==='的区别如果我错了,请纠正我'=='操作符检查值是否正确,即它是否强制?和'==='检查值和类型?但我不明白我是如何得到以下结果的,请看看:
var a= new String("one");
var b= new String("one");
a==b // I expected it to be true but it is FALSE please explain both the objects have same value then why?
从Felix提供的线程中我可以收集到'=='对于引用类型和基本类型的行为不同,即如果其中一个操作数是基本类型,它会进行强制转换,但如果两个操作数都是对象,则只比较引用。然后我可以得出结论,如果两个操作数都是引用类型,'=='和'==='工作完全相同?
这是因为您比较对象引用,您可以通过阅读本文档的最后一部分有一个很好的理解。
这和你的很像:
// fruit object reference variable
var fruit = {name: "apple"};
// fruitbear object reference variable
var fruitbear = {name: "apple"};
fruit == fruitbear // return false
fruit === fruitbear // return false
这是你应该做的:
// fruit object reference variable
var fruit = {name: "apple"};
// fruitbear object reference variable
var fruitbear = fruit; // assign fruit object reference to fruitbear object reference variable
// here fruit and fruitbear pointing to same object called fruit
fruit == fruitbear // return true
// here fruit and fruitbear pointing to same object called fruit
fruit === fruitbear // return true
相关文章:
- Node.js's Buffer.writeFloatBE in Javascript
- write HTML in JavaScript
- SetTimeout and clearTimeout in Javascript
- TicTacToe minimax AI in Javascript
- Calculation in javascript
- "a" element in JavaScript
- Truthy & Falsy in Javascript
- How can I get and replace this in javascript ( jquery?
- Output in Javascript
- Eventlistener in javascript to jQuery
- Escaping/Unescaping html in javascript?
- {} + [] in Javascript
- document.getElementbyId in Javascript
- SharePoint 2010 SP.FileCreationInformation() in javascript c
- url in javascript
- Detect Mountain Lion (OS X 10.8) in javascript?
- document Object in JavaScript
- Error with this.id in Javascript
- DEC2Bin in JavaScript?
- drawImage in JavaScript (Canvas)