Guest User

Untitled

a guest
Feb 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. var node = document.createElement("div");
  2.  
  3. // Current use-case for Array.isArray()
  4.  
  5. function setClass( elem, arg ) {
  6.  
  7. var className = arg;
  8.  
  9. if ( Array.isArray( arg ) ) {
  10. className = arg.join(" ");
  11. }
  12.  
  13. elem.className = className;
  14.  
  15. return elem;
  16. }
  17.  
  18. // Used as:
  19.  
  20. setClass( node, [ "ui", "logic", "template" ] );
  21.  
  22. console.log( node.classList );
  23.  
  24. setClass( node, "ui" );
  25.  
  26. console.log( node.classList );
  27.  
  28.  
  29.  
  30.  
  31. // How would an array prototype method be beneficial?
  32.  
  33. // Implementation 1:
  34. Array.prototype.isArray = function() {
  35. return Array.isArray( this );
  36. };
  37.  
  38. function setClass( elem, arg ) {
  39.  
  40. var className = arg;
  41.  
  42. if ( [].isArray.call( arg ) ) {
  43. className = arg.join(" ");
  44. }
  45.  
  46. elem.className = className;
  47.  
  48. return elem;
  49. }
  50.  
  51.  
  52. // Used as:
  53.  
  54. setClass( node, [ "ui", "logic", "template" ] );
  55.  
  56. console.log( node.classList );
  57.  
  58. setClass( node, "ui" );
  59.  
  60. console.log( node.classList );
  61.  
  62.  
  63.  
  64.  
  65. // Implementation 2
  66. Array.prototype.isArray = function( obj ) {
  67. return Array.isArray( obj );
  68. };
  69.  
  70. function setClass( elem, arg ) {
  71.  
  72. var className = arg;
  73.  
  74. if ( [].isArray( arg ) ) {
  75. className = arg.join(" ");
  76. }
  77.  
  78. elem.className = className;
  79.  
  80. return elem;
  81. }
  82.  
  83.  
  84. // Used as:
  85.  
  86. setClass( node, [ "ui", "logic", "template" ] );
  87.  
  88. console.log( node.classList );
  89.  
  90. setClass( node, "ui" );
  91.  
  92. console.log( node.classList );
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. // Wondering how or why this could be beneficial.
Add Comment
Please, Sign In to add comment