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) |