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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prototype.js

?? ext部分功能
?? 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) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av中文字幕不卡| 午夜精品视频在线观看| 国产成人精品aa毛片| 久久―日本道色综合久久| 国产一区二三区好的| 日本一区二区三区在线不卡| 本田岬高潮一区二区三区| 91理论电影在线观看| 欧美精品少妇一区二区三区| 亚洲成人激情社区| 日韩免费高清视频| 国产xxx精品视频大全| 日韩一区在线播放| 精品1区2区3区| 国产一区二区免费在线| 亚洲国产电影在线观看| 色94色欧美sute亚洲线路二| 三级在线观看一区二区| 国产亚洲一区二区三区四区| av日韩在线网站| 免费一级欧美片在线观看| 国产欧美精品一区二区色综合| 99精品国产99久久久久久白柏 | 欧美日韩精品三区| 狠狠狠色丁香婷婷综合久久五月| 久久久精品蜜桃| 色视频成人在线观看免| 激情文学综合网| 亚洲精品视频在线观看网站| 欧美不卡视频一区| 91精品福利视频| 国精产品一区一区三区mba视频 | 福利91精品一区二区三区| 美女任你摸久久| 中文字幕欧美日本乱码一线二线| 欧美三级视频在线观看| 国产精品一区二区无线| 亚洲成av人片一区二区三区| 国产肉丝袜一区二区| 91精品免费在线观看| 色婷婷久久综合| 国产一区二区精品久久91| 亚洲国产成人精品视频| 中文字幕色av一区二区三区| 欧美α欧美αv大片| 欧美日韩色综合| 99精品视频在线播放观看| 老鸭窝一区二区久久精品| 亚洲一区二区中文在线| 国产精品电影一区二区三区| 欧美精品一区二区三区四区| 欧美午夜精品久久久久久超碰| 成人黄动漫网站免费app| 国产一区二三区| 免费av成人在线| 午夜国产精品影院在线观看| 国产精品夫妻自拍| 国产欧美日韩一区二区三区在线观看| 欧美精品aⅴ在线视频| 99re亚洲国产精品| 国产成人av影院| 国产一区999| 激情偷乱视频一区二区三区| 麻豆中文一区二区| 丝袜美腿亚洲色图| 偷拍自拍另类欧美| 日韩中文字幕麻豆| 三级欧美在线一区| 日日夜夜免费精品| 日韩电影免费在线看| 午夜久久电影网| 日韩电影一区二区三区四区| 日日夜夜精品免费视频| 日本午夜精品一区二区三区电影| 午夜欧美视频在线观看| 日韩电影在线观看网站| 日本视频一区二区| 麻豆91小视频| 国产在线视频一区二区三区| 国产制服丝袜一区| 国产盗摄视频一区二区三区| 国产精品 欧美精品| 成人性色生活片免费看爆迷你毛片| 国产精品香蕉一区二区三区| 国产成人aaa| 91美女片黄在线观看| 色噜噜狠狠成人网p站| 欧美亚洲尤物久久| 日韩一区二区电影在线| 久久一日本道色综合| 国产精品久久三区| 一区二区三区在线免费视频| 亚洲国产精品一区二区www在线| 污片在线观看一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 黑人巨大精品欧美黑白配亚洲| 国产91精品久久久久久久网曝门| 不卡av在线免费观看| 欧美亚洲一区二区三区四区| 91精品国产综合久久福利| 欧美tk—视频vk| 国产精品欧美极品| 香蕉影视欧美成人| 国产精品1024| 欧美色视频在线| 久久久久久久久久美女| **性色生活片久久毛片| 日韩精品三区四区| 国产精品一线二线三线| 日本韩国一区二区| 日韩精品中文字幕在线不卡尤物| 国产午夜精品在线观看| 亚洲一二三专区| 国产精品一区二区免费不卡| 91麻豆免费观看| 日韩美一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲成人在线免费| 国产91精品入口| 日韩一级二级三级| 亚洲视频网在线直播| 国产在线不卡视频| 欧美亚洲国产bt| 欧美国产欧美综合| 免费不卡在线观看| 欧美在线观看视频在线| 久久日一线二线三线suv| 午夜精品在线视频一区| av网站免费线看精品| 欧美哺乳videos| 亚洲成人av在线电影| 99久免费精品视频在线观看| 欧美一区二区三区的| 亚洲欧美一区二区三区国产精品| 国产一区在线观看麻豆| 欧美女孩性生活视频| 亚洲天堂成人在线观看| 国产一区在线精品| 日韩视频免费观看高清完整版在线观看| 国产精品美女视频| 韩国三级在线一区| 4438x亚洲最大成人网| 亚洲靠逼com| 成人动漫在线一区| 国产日韩欧美精品电影三级在线 | 亚洲免费毛片网站| 国产精品一区二区视频| 日韩欧美国产不卡| 免费av成人在线| 在线综合亚洲欧美在线视频| 亚洲国产精品麻豆| 欧美午夜精品久久久久久超碰| 自拍av一区二区三区| 成人免费视频免费观看| 国产亚洲美州欧州综合国 | 国产一区二区剧情av在线| 日韩免费一区二区三区在线播放| 三级不卡在线观看| 欧美日韩精品电影| 五月天婷婷综合| 欧美日韩国产天堂| 日韩电影在线观看一区| 6080国产精品一区二区| 日本麻豆一区二区三区视频| 91超碰这里只有精品国产| 午夜成人免费电影| 日韩一级欧美一级| 国产精品成人免费| 亚洲一区二区三区视频在线| gogo大胆日本视频一区| 国产夜色精品一区二区av| 国产精品99久久久久久久vr | 亚洲第一av色| 欧美日韩aaaaa| 美国一区二区三区在线播放| 日韩欧美一级二级| 国产精品一级黄| 亚洲天堂2016| 欧美日韩视频在线观看一区二区三区| 亚洲国产中文字幕在线视频综合| 欧美日韩小视频| 久草在线在线精品观看| 久久精品在线观看| 91在线一区二区三区| 亚洲一级二级在线| 日韩欧美在线网站| 国产成人亚洲精品青草天美| 亚洲视频一二区| 91麻豆精品国产91久久久使用方法| 麻豆精品久久久| 国产精品日韩成人| 欧美午夜精品理论片a级按摩| 日韩电影网1区2区| 中文字幕巨乱亚洲| 精品视频色一区| 国产综合久久久久久鬼色| 亚洲美女偷拍久久| 日韩一区二区中文字幕| k8久久久一区二区三区| 午夜精品久久久久久久99水蜜桃|