underscore 是一个JavaScript工具库,它提供了一整套函数式编程的实用功能,但是它又没有扩展任何JavaScript 内置对象. 那么我们为什么还用它呢?我们又用它的那些价值呢? 其实,它就是给我们解决了:"如果我们面对一个空白 的HTML页面,并希望立即开始工作,但是想想我们需要什么? " .它就是弥补了 jQuery 没有实现的功能,同时又是Backbone必不可缺少的一部分. underscore提供了100多个函数,包括常用的:map,filter.invoke.-------------------- / 当然他还有更多 的专业辅助函数, 列如:函数的绑定.JavaScript模板功能,创建快速索引.强类型相等测试. 其实 目前我们 用他的 主要 原因是可以 实现 随机数 列如
A :在相片墙中用到的
1: 随机角度 var radoRace = _.random(0,360); 赋值给 li.style.transform =' rotate('+ radoRace +'deg)';
2.在屏幕的随机位置
var randomX = _.random(0,screenW);//水平方向的坐标 表示 X 的取值在0到360的任意值
var randomY = _.random(0,screenH);//这里的图片会分散整个屏幕
( // var randomX =.random()*screenW;//图片都缩在左上角,但是点击的时候也还是实现)
(// var randomY =.random()*screenH;)
//3.3.3赋值给 每个 li
li.style.left = randomX + 'px';
li.style.top = randomY + 'px';
B:在创建星星 没有用到的 注意 两者 都是获取屏幕的位置的不统一
//4 设置位置 星星的位置是随机的
var pointX = Math.random() * screenW;
var pointY = Math.random() * screenH;
// 4.1 把值赋给 星星
span.style.left = pointX + 'px';
span.style.top = pointY + 'px';
// 5 星星跳出来的频率 给它不统一 就是没有规律的出来.
var blockDelay = Math.random()*2;
//既然是延迟 那么就得延迟多少秒 这样的话 blockDelay 是数值 单位的 s
span.style.animationDelay =''+ blockDelay + 's'; //注意 这里 必须要用驼峰命名法
// 给他们设置随机大小不一样 吧
var max_min = Math.random()*1.5;
// span.style.transform = 'scale()'// 里面是数值 所以
span.style.transform = 'scale('+max_min +')'