Valid template expressions:
- expressions can reference any property on the passed in context, including nested properties and indexed access to array properties.
{{ name }}
{{ obj.name }}
| !function (factory) { | |
| if (typeof exports == 'object') { | |
| factory(require('jquery')); | |
| } else if (typeof define == 'function' && define.amd) { | |
| define(['jquery'], factory); | |
| } else { | |
| factory(jQuery); | |
| } | |
| }(function($) { | |
| 'use strict'; |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <style type="text/css"> | |
| .moveable { | |
| border: 1px solid red; | |
| display: inline-block; | |
| padding: 2px; | |
| font-family: sans-serif; | |
| } |
| (function (root, factory) { | |
| if (typeof define === 'function' && define.amd) { | |
| // AMD. Register as an anonymous module. | |
| define([], factory); | |
| } else if (typeof exports === 'object') { | |
| // Node. Does not work with strict CommonJS, but | |
| // only CommonJS-like environments that support module.exports, | |
| // like Node. | |
| module.exports = factory(); | |
| } else { |
| function extend(/* objects */) { | |
| var args = [].slice.call(arguments,0), | |
| base = args.shift(), | |
| len = args.length; | |
| while (args.length) { | |
| var o = args.pop(); | |
| for (var prop in o) { | |
| // properties override those existing | |
| if (typeof base[prop] === 'undefined' && typeof o[prop] !== 'function') { | |
| base[prop] = o[prop]; |
| /** | |
| * Return a random number between min/max where the mean | |
| * result is approximately the mode across a uniform distribution. | |
| * @param min {Number} - lower limit of range (inclusive) | |
| * @param max {Number} - upper limit of range (inclusive) | |
| * @return {Function} - a function that returns a random number between 'min' and 'max' | |
| */ | |
| var genRandomFromRangeFn = function(min, max) { | |
| return function() { | |
| var res = Math.round(Math.random() * (max - min)) + min; |
| var slice = Array.prototype.slice, | |
| join = Array.prototype.join, | |
| concat = Array.prototype.concat, | |
| toString = Object.prototype.toString, | |
| isString = function(o){ return toString.call(o) == '[object String]'; }, | |
| isArray = function(o) { return toString.call(o) == '[object Array]'; }; | |
| // I Combinator |
| <!DOCTYPE html> | |
| <html ng-app="app"> | |
| <head> | |
| <script src="http://code.jquery.com/jquery.min.js"></script> | |
| <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> | |
| <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> | |
| <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> | |
| <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> | |
| <meta charset="utf-8"> | |
| <title>JS Bin</title> |
| <!DOCTYPE html> | |
| <html ng-app="app"> | |
| <head> | |
| <script src="http://code.jquery.com/jquery.min.js"></script> | |
| <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> | |
| <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> | |
| <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> | |
| <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> | |
| <meta charset="utf-8"> | |
| <title>JS Bin</title> |
| var assert = { | |
| test: 1, | |
| equal: function(exp, target) { | |
| console.log("[test](%d) expected "+target+" got " + exp + " (%s)", this.test++, (exp == target ? 'SUCCESS' : 'FAIL')); | |
| } | |
| }; | |
| // SKITTLES | |
| // Given a target goal in kilograms, and a number of | |
| // small bags of skittles (1kg) and large bags of skittles (5kg) |