This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var fibonacci = function () { | |
| var memo = [0, 1]; | |
| var fib = function (n) { | |
| var result = memo[n]; | |
| if (typeof result !== 'number') { | |
| result = fib(n-1) + fib(n-2); | |
| memo[n] = result; | |
| } | |
| return result; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function quote(fn) { | |
| return typeof(fn.name) === "string" ? | |
| fn.name : | |
| fn.toString() | |
| .replace("function ", "") | |
| .replace(/\([\s\S]*/, ""); | |
| } | |
| function funCall(fn) { | |
| var args = Array.prototype.slice.call(arguments, 1), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| div = function () { | |
| var args = Array.prototype.slice.call(arguments, 0); | |
| var attrs = {}; | |
| var txt = args.map(function (arg) { | |
| if (typeof arg === "string") { | |
| return arg; | |
| } else { | |
| for (attr in arg) { | |
| attrs[attr] = arg[attr]; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Based on Nicholas C Zakas' function in High Performance Javascript | |
| function batchProcess(items, process, callback) { | |
| // Create a copy of the original items array so that our side effects | |
| // (calling .shift()) don't pollute anything outside of this scope. | |
| var todo = items.slice(0); | |
| setTimeout(function () { | |
| var start = +new Date, result = true; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| > (function (arg) { return arg === undefined; }()) // Missing arguments are undefined | |
| true | |
| > var items = [] | |
| undefined | |
| > items.push() // Pushing implicitly undefined item doesn't work | |
| 0 | |
| > items | |
| [] | |
| > items.push(undefined) // What about explicitly pushing undefined? | |
| 1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var | |
| test = test || null, | |
| ok = ok || null, | |
| deepEqual = deepEqual || null, | |
| assert = null; | |
| // If we are not running in Qunit in the browser, create a shim from the Qunit API | |
| // to the CommonJS API. | |
| if (typeof exports !== "undefined") { | |
| assert = require("assert"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var FILE = require("file"); | |
| require.paths.unshift(FILE.join(FILE.dirname(module.path), | |
| "jsmacros/vendor/jison/lib")); | |
| var Parser = require("jison").Parser; | |
| require.paths.shift(); | |
| var grammar = { | |
| lex: { | |
| rules: [ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //@use bind.jsm | |
| function returnsMultipleVals () { | |
| return ["foo", "bar"]; | |
| } | |
| var foo, bar; | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Output of the example which is console.logged at the bottom of operations.js: | |
| $ node operations.js | |
| To change 'kitten' in to 'sitting': | |
| [ [ 'delete', 'k' ] | |
| , [ 'insert', 's' ] | |
| , [ 'retain', 1 ] | |
| , [ 'retain', 1 ] | |
| , [ 'retain', 1 ] | |
| , [ 'delete', 'e' ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (function () { | |
| // conceal the Thunk class to avoid | |
| // so that the only way to make one is | |
| // to call Function::thunk | |
| function Thunk(fn, args) { | |
| this.fn = fn; | |
| this.args = args; | |
| } | |
| Thunk.prototype.force = function () { |
NewerOlder