Util 工具函数

在 hnsdk 内部使用的各种工具函数。

Function

方法名返回值说明
extend( dest, src?)Objectsrc 对象(或多个对象)的属性合并到 dest 对象中并返回后者。有一个 hnsdk.extend 的快捷方式。
create( proto, properties?)ObjectObject.create 的兼容性 polyfill
bind( fn, )Function 返回一个与传递的参数绑定的新函数,就像 Function.prototype.bind. 。有一个 hnsdk.bind() 的快捷方式
stamp( obj)Number返回一个对象的唯一 ID,如果它没有 ID 就给它分配一个。
throttle( fn, time, context)Function 返回一个函数,该函数以给定的范围 上下文 执行函数 fn (因此, this 关键字指的是 fn 代码中的 context )。 在给定的时间内,函数 fn 将被调用不超过一 。 被绑定的函数收到的参数将是绑定函数时传递的任何参数,然后是调用绑定函数时传递的任何参数。有一个 hnsdk.throttle 的快捷方式。
wrapNum( num, range, includeMax?)Number 返回数字 num modulo range 的方式,使其位于 range[0]range[1] 内。除非 includeMax 被设置为 true ,否则返回的值将总是小于range[1]
falseFn()Function返回一个总是返回 false 的函数。
formatNum( num, precision?)Number 返回四舍五入到小数点后的 数字num ,或者默认为6位小数。
trim( str)StringString.prototype.trim的兼容性 polyfill
splitWords( str)String[]在空白处对字符串进行修剪和分割,并返回各部分的数组。
setOptions( obj, options)Object 将给定的属性合并到 obj 对象的 选项 中, 返回生成的选项。 参见 Class 选项 。有一个 hnsdk.setOptions 快捷方式。
getParamString( obj, existingUrl?, uppercase?)String 将一个对象转换为一个参数URL字符串,例如, {a: "foo", b: "bar"} 翻译为 '?a=foo&b=bar' 。如果设置了 existingUrl ,参数将被附加在最后。如果 大写字母true, 参数名称将被大写字母化 (例如 '?A=foo&B=bar')
template( str, data)String 简单的模板化工具,接受 'Hello {a}, {b}' 形式的模板字符串和 {a: 'foo', b: 'bar'}这样的数据对象,返回已评估的字符串 ('Hello foo, bar')。你也可以为数据值指定函数而不是字符串——它们将通过 data 作为参数被评估。
isArray(obj)BooleanArray.isArray的兼容性 polyfill
indexOf( array, el)NumberArray.prototype.indexOf 的兼容性 polyfill
requestAnimFrame( fn, context?, immediate?)Number 当浏览器重绘时,安排 fn 被执行。如果给定的话, fn 被绑定到 context 。如果设置了 immediate ,如果浏览器没有对 window.requestAnimationFrame 的本地支持,fn 会被立即调用,否则会被延迟。返回一个请求ID,可以用来取消请求。
cancelAnimFrame( id)undefined 取消之前的 requestAnimFrame。可以参考 window.cancelAnimationFrame
Last Updated:
Contributors: 小小志