美文网首页
Leaflet核心类:Util.js通用的方法

Leaflet核心类:Util.js通用的方法

作者: 1e6c2b3901b0 | 来源:发表于2019-01-17 12:51 被阅读0次
    • freeze
    //  冻结对象
    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

    相关文章

      网友评论

          本文标题:Leaflet核心类:Util.js通用的方法

          本文链接:https://www.haomeiwen.com/subject/dyfidqtx.html