equal_object.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function write(args)
  6. {
  7. WScript.Echo(""+args);
  8. }
  9. var o = {toString: function(){write("Inside toString"); return "abc";}, valueOf: function(){write("Inside valueOf");return 10;}};
  10. write("Scenario 1");
  11. write(o==10);
  12. write(o=="abc");
  13. write(10==o);
  14. write("abc"==o);
  15. write("Scenario 2");
  16. o = {valueOf: function(){write("Inside valueOf"); return 1;}};
  17. write(o==true);
  18. write(o==false);
  19. write(true==o);
  20. write(false==o);
  21. write("Scenario 3");
  22. var o = {valueOf: function(){write("Inside valueOf"); return 0;}};
  23. write(o==true);
  24. write(o==false);
  25. write(true==o);
  26. write(false==o);
  27. write("Scenario 4");
  28. o = {toString: function(){write("Inside toString"); return "1";}};
  29. write(o==true);
  30. write(o==false);
  31. write(true==o);
  32. write(false==o);
  33. write("Scenario 5");
  34. o = {toString: function(){write("Inside toString"); return "0";}};
  35. write(o==true);
  36. write(o==false);
  37. write(true==o);
  38. write(false==o);
  39. write("Scenario 6");
  40. var dtBegin = new Date("Thu Aug 5 05:30:00 PDT 2010");
  41. var dtCurrentBegin=dtBegin.getTime();
  42. write(dtCurrentBegin == dtBegin);
  43. write(dtBegin == dtCurrentBegin);