CrossContextSpreadArguments.js 863 B

1234567891011121314151617181920212223242526
  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. var simpleIterator = function(args) {
  6. var iter = (function(args) {
  7. var j = 0;
  8. var length = args.length;
  9. return function Iterator() {
  10. return {next: function() {
  11. if (j < length)
  12. {
  13. return { value: args[j++], done: false };
  14. }
  15. else
  16. {
  17. j = 0;
  18. return { done: true };
  19. }
  20. }}}})(args)
  21. return iter;};
  22. var a = [1,2,3];
  23. a[Symbol.iterator] = simpleIterator(a);