亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? prototype.js

?? 一個關(guān)于extjs的demo,簡單示例,后臺用java實(shí)現(xiàn)
?? JS
?? 第 1 頁 / 共 5 頁
字號:
    var parts = this.split('-'), len = parts.length;
    if (len == 1) return parts[0];

    var camelized = this.charAt(0) == '-'
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
      : parts[0];

    for (var i = 1; i < len; i++)
      camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

    return camelized;
  },

  capitalize: function() {
    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
  },

  underscore: function() {
    return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
  },

  dasherize: function() {
    return this.gsub(/_/,'-');
  },

  inspect: function(useDoubleQuotes) {
    var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
      var character = String.specialChar[match[0]];
      return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
    });
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
  },

  toJSON: function() {
    return this.inspect(true);
  },

  unfilterJSON: function(filter) {
    return this.sub(filter || Prototype.JSONFilter, '#{1}');
  },

  isJSON: function() {
    var str = this;
    if (str.blank()) return false;
    str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
  },

  evalJSON: function(sanitize) {
    var json = this.unfilterJSON();
    try {
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
  },

  include: function(pattern) {
    return this.indexOf(pattern) > -1;
  },

  startsWith: function(pattern) {
    return this.indexOf(pattern) === 0;
  },

  endsWith: function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
  },

  empty: function() {
    return this == '';
  },

  blank: function() {
    return /^\s*$/.test(this);
  },

  interpolate: function(object, pattern) {
    return new Template(this, pattern).evaluate(object);
  }
});

if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
  escapeHTML: function() {
    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  },
  unescapeHTML: function() {
    return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
  }
});

String.prototype.gsub.prepareReplacement = function(replacement) {
  if (Object.isFunction(replacement)) return replacement;
  var template = new Template(replacement);
  return function(match) { return template.evaluate(match) };
};

String.prototype.parseQuery = String.prototype.toQueryParams;

Object.extend(String.prototype.escapeHTML, {
  div:  document.createElement('div'),
  text: document.createTextNode('')
});

with (String.prototype.escapeHTML) div.appendChild(text);

var Template = Class.create({
  initialize: function(template, pattern) {
    this.template = template.toString();
    this.pattern = pattern || Template.Pattern;
  },

  evaluate: function(object) {
    if (Object.isFunction(object.toTemplateReplacements))
      object = object.toTemplateReplacements();

    return this.template.gsub(this.pattern, function(match) {
      if (object == null) return '';

      var before = match[1] || '';
      if (before == '\\') return match[2];

      var ctx = object, expr = match[3];
      var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
      match = pattern.exec(expr);
      if (match == null) return before;

      while (match != null) {
        var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
        ctx = ctx[comp];
        if (null == ctx || '' == match[3]) break;
        expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
        match = pattern.exec(expr);
      }

      return before + String.interpret(ctx);
    });
  }
});
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;

var $break = { };

var Enumerable = {
  each: function(iterator, context) {
    var index = 0;
    iterator = iterator.bind(context);
    try {
      this._each(function(value) {
        iterator(value, index++);
      });
    } catch (e) {
      if (e != $break) throw e;
    }
    return this;
  },

  eachSlice: function(number, iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var index = -number, slices = [], array = this.toArray();
    while ((index += number) < array.length)
      slices.push(array.slice(index, index+number));
    return slices.collect(iterator, context);
  },

  all: function(iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var result = true;
    this.each(function(value, index) {
      result = result && !!iterator(value, index);
      if (!result) throw $break;
    });
    return result;
  },

  any: function(iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var result = false;
    this.each(function(value, index) {
      if (result = !!iterator(value, index))
        throw $break;
    });
    return result;
  },

  collect: function(iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var results = [];
    this.each(function(value, index) {
      results.push(iterator(value, index));
    });
    return results;
  },

  detect: function(iterator, context) {
    iterator = iterator.bind(context);
    var result;
    this.each(function(value, index) {
      if (iterator(value, index)) {
        result = value;
        throw $break;
      }
    });
    return result;
  },

  findAll: function(iterator, context) {
    iterator = iterator.bind(context);
    var results = [];
    this.each(function(value, index) {
      if (iterator(value, index))
        results.push(value);
    });
    return results;
  },

  grep: function(filter, iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var results = [];

    if (Object.isString(filter))
      filter = new RegExp(filter);

    this.each(function(value, index) {
      if (filter.match(value))
        results.push(iterator(value, index));
    });
    return results;
  },

  include: function(object) {
    if (Object.isFunction(this.indexOf))
      if (this.indexOf(object) != -1) return true;

    var found = false;
    this.each(function(value) {
      if (value == object) {
        found = true;
        throw $break;
      }
    });
    return found;
  },

  inGroupsOf: function(number, fillWith) {
    fillWith = Object.isUndefined(fillWith) ? null : fillWith;
    return this.eachSlice(number, function(slice) {
      while(slice.length < number) slice.push(fillWith);
      return slice;
    });
  },

  inject: function(memo, iterator, context) {
    iterator = iterator.bind(context);
    this.each(function(value, index) {
      memo = iterator(memo, value, index);
    });
    return memo;
  },

  invoke: function(method) {
    var args = $A(arguments).slice(1);
    return this.map(function(value) {
      return value[method].apply(value, args);
    });
  },

  max: function(iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var result;
    this.each(function(value, index) {
      value = iterator(value, index);
      if (result == null || value >= result)
        result = value;
    });
    return result;
  },

  min: function(iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var result;
    this.each(function(value, index) {
      value = iterator(value, index);
      if (result == null || value < result)
        result = value;
    });
    return result;
  },

  partition: function(iterator, context) {
    iterator = iterator ? iterator.bind(context) : Prototype.K;
    var trues = [], falses = [];
    this.each(function(value, index) {
      (iterator(value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  },

  pluck: function(property) {
    var results = [];
    this.each(function(value) {
      results.push(value[property]);
    });
    return results;
  },

  reject: function(iterator, context) {
    iterator = iterator.bind(context);
    var results = [];
    this.each(function(value, index) {
      if (!iterator(value, index))
        results.push(value);
    });
    return results;
  },

  sortBy: function(iterator, context) {
    iterator = iterator.bind(context);
    return this.map(function(value, index) {
      return {value: value, criteria: iterator(value, index)};
    }).sort(function(left, right) {
      var a = left.criteria, b = right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  },

  toArray: function() {
    return this.map();
  },

  zip: function() {
    var iterator = Prototype.K, args = $A(arguments);
    if (Object.isFunction(args.last()))
      iterator = args.pop();

    var collections = [this].concat(args).map($A);
    return this.map(function(value, index) {
      return iterator(collections.pluck(index));
    });
  },

  size: function() {
    return this.toArray().length;
  },

  inspect: function() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }
};

Object.extend(Enumerable, {
  map:     Enumerable.collect,
  find:    Enumerable.detect,
  select:  Enumerable.findAll,
  filter:  Enumerable.findAll,
  member:  Enumerable.include,
  entries: Enumerable.toArray,
  every:   Enumerable.all,
  some:    Enumerable.any
});
function $A(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) return iterable.toArray();
  var length = iterable.length || 0, results = new Array(length);
  while (length--) results[length] = iterable[length];
  return results;
}

if (Prototype.Browser.WebKit) {
  $A = function(iterable) {
    if (!iterable) return [];
    if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') &&
        iterable.toArray) return iterable.toArray();
    var length = iterable.length || 0, results = new Array(length);
    while (length--) results[length] = iterable[length];
    return results;
  };
}

Array.from = $A;

Object.extend(Array.prototype, Enumerable);

if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;

Object.extend(Array.prototype, {
  _each: function(iterator) {
    for (var i = 0, length = this.length; i < length; i++)
      iterator(this[i]);
  },

  clear: function() {
    this.length = 0;
    return this;
  },

  first: function() {
    return this[0];
  },

  last: function() {
    return this[this.length - 1];
  },

  compact: function() {
    return this.select(function(value) {
      return value != null;
    });
  },

  flatten: function() {
    return this.inject([], function(array, value) {
      return array.concat(Object.isArray(value) ?
        value.flatten() : [value]);
    });
  },

  without: function() {
    var values = $A(arguments);
    return this.select(function(value) {
      return !values.include(value);
    });
  },

  reverse: function(inline) {
    return (inline !== false ? this : this.toArray())._reverse();
  },

  reduce: function() {
    return this.length > 1 ? this : this[0];
  },

  uniq: function(sorted) {
    return this.inject([], function(array, value, index) {
      if (0 == index || (sorted ? array.last() != value : !array.include(value)))
        array.push(value);
      return array;
    });
  },

  intersect: function(array) {
    return this.uniq().findAll(function(item) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久91精品国产一区二区精品 | 丝袜脚交一区二区| 国产精品国产精品国产专区不片| 久久嫩草精品久久久精品| 精品日韩av一区二区| 欧美成人在线直播| 久久伊人蜜桃av一区二区| 久久综合狠狠综合久久激情 | 国产日韩精品视频一区| 国产亚洲一区二区三区四区| 久久女同精品一区二区| 国产校园另类小说区| 欧美极品xxx| 国产精品不卡视频| 一区二区三区中文在线| 午夜精品福利一区二区三区蜜桃| 亚洲在线视频免费观看| 日韩二区三区在线观看| 麻豆成人在线观看| 国产成人高清在线| 色噜噜狠狠成人网p站| 欧美丝袜第三区| 欧美一区二区视频观看视频 | 亚洲国产另类av| 色噜噜狠狠成人中文综合| 92国产精品观看| 欧美午夜视频网站| 日韩一区二区麻豆国产| 久久久一区二区| 亚洲欧美经典视频| 日本vs亚洲vs韩国一区三区二区| 久久99精品久久久久久久久久久久| 国产乱妇无码大片在线观看| 色综合中文字幕国产| 欧美日韩1区2区| 欧美精品一区男女天堂| 亚洲特黄一级片| 免费观看在线综合色| 成人黄色网址在线观看| 欧美疯狂做受xxxx富婆| 久久久久综合网| 亚洲综合色网站| 韩国v欧美v亚洲v日本v| 欧美在线免费播放| 久久亚洲影视婷婷| 亚洲一区欧美一区| 国产精品一区一区| 欧美性欧美巨大黑白大战| 久久一日本道色综合| 亚洲毛片av在线| 韩国三级电影一区二区| 91高清视频在线| www国产成人| 亚洲成人在线免费| 成人免费高清在线| 日韩精品一区二区三区中文不卡| 日韩理论电影院| 国产精品一区二区三区网站| 欧美在线你懂的| 国产精品麻豆久久久| 麻豆免费精品视频| 精品视频在线视频| **网站欧美大片在线观看| 久久国产免费看| 欧美日韩国产首页在线观看| 国产精品色呦呦| 激情偷乱视频一区二区三区| 欧美色倩网站大全免费| 久久精品男人的天堂| 免费观看日韩av| 欧美三级视频在线| **欧美大码日韩| 国产a级毛片一区| 麻豆精品精品国产自在97香蕉| 成人国产一区二区三区精品| 精品久久久久久久久久久久久久久| 亚洲高清视频在线| 不卡一区二区三区四区| 久久一区二区三区四区| 美女尤物国产一区| 欧美电影一区二区| 亚洲第一激情av| 一本一道综合狠狠老| 国产精品久久久久精k8| 国产高清在线精品| 亚洲精品一线二线三线| 裸体歌舞表演一区二区| 欧美日韩性生活| 亚洲一区二区五区| 在线观看一区日韩| 亚洲日本一区二区| 99热精品国产| 中文字幕一区二区三区av| 波多野结衣中文字幕一区| 中文字幕第一区第二区| 国产69精品久久777的优势| 久久久久国产精品厨房| 国产精品亚洲第一区在线暖暖韩国 | 国产精品综合一区二区三区| 精品福利av导航| 麻豆国产91在线播放| 精品久久久久久最新网址| 老汉av免费一区二区三区| 日韩欧美一区二区三区在线| 五月激情丁香一区二区三区| 51午夜精品国产| 肉肉av福利一精品导航| 91精品国产福利在线观看| 肉丝袜脚交视频一区二区| 欧美一区二区在线免费观看| 捆绑调教一区二区三区| 久久久久久久性| 成人午夜视频网站| 亚洲精品一二三区| 欧美精品xxxxbbbb| 男人操女人的视频在线观看欧美| 日韩美女视频一区二区在线观看| 国产一区二区三区黄视频 | 久久亚洲精精品中文字幕早川悠里 | 一区二区三区产品免费精品久久75| 色婷婷精品大视频在线蜜桃视频| 亚洲国产欧美在线| 91精品国产入口| 韩国精品久久久| 国产精品久99| 欧美日韩在线播| 日本网站在线观看一区二区三区 | 亚洲一区免费观看| 日韩视频中午一区| 国产成人精品免费| 悠悠色在线精品| 欧美成人在线直播| 亚洲人成网站色在线观看| 另类小说欧美激情| 国产欧美日韩在线视频| 99精品一区二区三区| 性久久久久久久久| 国产天堂亚洲国产碰碰| 91免费在线看| 蜜臀av一区二区在线观看| 日本一区二区久久| 欧美精品一二三四| 粉嫩蜜臀av国产精品网站| 亚洲午夜电影网| 久久奇米777| 欧美色图免费看| 国产精品911| 亚洲午夜免费福利视频| 久久日韩精品一区二区五区| 色婷婷综合五月| 国产一区在线视频| 一区二区三区欧美亚洲| 欧美成人精品福利| 色噜噜狠狠成人中文综合| 激情久久五月天| 夜夜嗨av一区二区三区| 久久婷婷成人综合色| 在线观看亚洲成人| 福利视频网站一区二区三区| 亚洲在线一区二区三区| 欧美高清在线一区二区| 欧美一区二区三区视频在线观看| 99久久精品一区二区| 国模冰冰炮一区二区| 午夜不卡av在线| 中文字幕五月欧美| 久久先锋影音av鲁色资源| 欧美中文字幕一区二区三区| 国产成+人+日韩+欧美+亚洲| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲男人电影天堂| 中文字幕乱码久久午夜不卡 | 欧美精品亚洲二区| 99视频精品免费视频| 国产另类ts人妖一区二区| 三级在线观看一区二区| 亚洲精品久久久蜜桃| 国产精品久线观看视频| 久久女同精品一区二区| 日韩欧美一区二区三区在线| 欧美性感一区二区三区| 91麻豆成人久久精品二区三区| 国产精品一级片在线观看| 蜜桃av一区二区| 婷婷久久综合九色综合伊人色| 日韩伦理av电影| 亚洲欧美一区二区在线观看| 久久久国产精品午夜一区ai换脸| 日韩欧美国产不卡| 91精品一区二区三区在线观看| 91精品办公室少妇高潮对白| 北条麻妃一区二区三区| 国产九色精品成人porny| 久久99久久99| 青椒成人免费视频| 久久精工是国产品牌吗| 蜜臀av一区二区在线观看 | 91福利国产成人精品照片| av不卡一区二区三区| 风流少妇一区二区|