// 冻结对象
export var freeze = Object.freeze;
// 覆盖默认的冻结方法,返回新的对象
Object.freeze = function(obj) {
return obj;
};
- extend(dest)扩展对象:融合src对象的属性或多个对象的属性,融合到dest对象并返回
- create(proto: Object, properties?: Object):Object创建对象,参数1:原型对象,参数2:可选。若未指定为 undefined
- bind(fn:Function, ...):Function为函数绑定预设参数(参数为obj对象),返回一个函数
类似 Function.prototype.bind
- throttle(fn:Function, time:Number, context:Object):Function
节流函数,返回一个函数,该函数执行参数中的fn函数,并带有context作用域信息,fn函数在给定的时间内(time),最多被调用一次。
在fn函数中,this关键字调用context
此函数时接收的任何参数(在前),fn函数的参数在后
- wrapNum(num:Number, range:Number[], includeMax?:Boolean):Number
range表示大小范围,只有两个元素[min,max]
返回num除以range的余数,这样返回的数值就位于range[0]到range[1]之间,返回的值总是小于range[1],除非includeMax被设为true
export function warpNum(x, range, includeMax){
// range中的最大值 max,最小值;range的区间长度
var max = range [1], min = range[0], d= max - min;
// 若x为最大值且includeMax为true,则返回range的最大值;否则
// a=(x-min)%d:可能为负数
// b=(x-min)%d+d=a+d:确保0<=b<2d
// c=((((x - min) % d) + d) % d)=b%d:确保0<= c< d
// final = ((((x - min) % d) + d) % d)+min= c+min:确保min <= final < max
return x === max && includeMax ? x :((((x - min) % d) + d) % d) + min;
}
- falseFn():Boolean该函数的返回值总是false
- formatNum(num:Number, digits?: Number): Number
返回一个数字,保留的小数点数为digits,默认是小数点后6位
- trim(str:String):String
兼容 String.prototype.trim
- setOptions(obj:Object, options: Objec):Object
融合给定的属性到obj对象的options中,返回最终的options
- getParamString(obj:Object, existingUrl?:String, uppercase?:Boolean):String
把某个对象转换成url参数字符串
{a:"foo",b:"bar"}
,被转换为:'?a=foo&b=bar'
若existingUrl已设置,则被转换的参数被拼接到该url后面
若 uppercase被设为true,则参数名大写,如'?A=foo&B=bar'
- template(str:String, data:Object):String
简单的模板工厂,接收一个模板字符串,形式为'Hello {a}, {b}'
,data对象类似于{a:'foo', b:'bar'}
,返回计算后的字符串('Hello foo, bar')
也可指定函数代替str,这样的话data将作为参数传递给函数
- isArray(obj):Boolean
- indexOf(array: Array, el: Object):Number
Compatibility polyfill for Array.prototype.indexOf
- requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number
- cancelAnimFrame(id: Number): undefined
网友评论