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

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

?? silverna-packs.js

?? 《JavaScript王者歸來》examples.rar
?? JS
?? 第 1 頁 / 共 4 頁
字號:
/*******************************************************
 *                                                     *
 *******************************************************/
//一些異常
function ImplementationException(msg){
	msg = msg || "接口未正確實現!";
	var _e = new Error(msg);
	_e.number = "0x101001";
	return _e;
}
function EnvironmentException(msg){
	msg = msg || "運行環境錯誤!";
	var _e = new Error(msg);
	_e.number = "0x101002";
	return _e;
}
function TypeNotFoundException(msg){
	msg = msg || "指定類型不存在或無法實例化!";
	var _e = new Error(msg);
	_e.number = "0x101004";
	return _e;
}
//空函數
var $void = function(){
}
//$pack函數當參數個數為1的時侯返回該參數,否則返回一個參數表
var $pack = function(){
	if(arguments.length == 1)
		return arguments[0];
	else
		return Array.apply(null, arguments);
}
//抽象函數,定義接口時使用,如果被調用,則拋出異常
//Silverna中所有未實現的接口也調用此函數
var $abstract = function(){
	throw new ImplementationException();
}
var Silverna = {
	version : "2.0.0.1.20070726",
	author : "akira",
	implementation : $abstract
}
//獲得瀏覽器屏幕窗口的大小
window.clientRect = function() 
{     
	var w = (window.innerWidth) ? window.innerWidth : 
		(document.documentElement && document.documentElement.clientWidth) 
			? document.documentElement.clientWidth : document.body.offsetWidth;     
	var h = (window.innerHeight) ? window.innerHeight : 
		(document.documentElement && document.documentElement.clientHeight) 
			? document.documentElement.clientHeight : document.body.offsetHeight;     
	return {width:w,height:h}; 
} 
//獲得頁面文檔的大小
window.pageRect = function() 
{     
	var w = (window.innerWidth) ? window.innerWidth : document.body.offsetWidth;     
	var h = (window.innerHeight) ? window.innerHeight : document.body.offsetHeight;     
	return {width:w,height:h}; 
}
//判斷是否是IE瀏覽器
function $isIE()
{
	return /msie/i.test(navigator.userAgent);
}
//判斷是否是Firefox瀏覽器
function $isFF()
{
    return /firefox/i.test(navigator.userAgent);
}
//判斷是否是IE7.0瀏覽器
function $isIE7()
{
	return /msie 7/i.test(navigator.userAgent);
}
//獲得文檔的head,如果有的話
function $head(){
	var heads = document.getElementsByTagName("head"); 
	return heads ? heads[0] : null;
}
//獲得文檔的body,如果有的話
function $body(){
	var bodys = document.getElementsByTagName("body");
	return bodys ? bodys[0] : null;
}
//獲得Silverna核心腳本所在的script DOM對象
var $script = (function(){
	var scripts = document.getElementsByTagName("script");
	return scripts.length ? scripts[scripts.length - 1] : null;
})();
//獲得Silverna核心腳本的運行路徑
function $root()
{
	return $script.getAttribute("src").replace(/[^\/]+$/g,'');
}
//檢測一個包或者對象是否存在,不存在則拋出異常
function $require(packs)
{
	try{
		var obj = eval(packs);
		if(obj == null) throw new Error();
		return obj;
	}
	catch(ex)
	{
		throw new EnvironmentException("包或對象" + packs + "加載失敗,是否未包含必要的文件?");
	}
}
//用指定參數依次檢測一組closure的執行結果,如果正常執行,則返回該執行結果,否則檢測下一個
//最后一個參數可以是一個參數列表
function $try(){
	var _args = arguments[arguments.length - 1];
	var len = arguments.length - 1;
	if(_args instanceof Function){
		_args = [];
		len++;
	}
	
	for(var i = 0; i < len; i++)
	{
		try{
			return arguments[i].apply(this, _args);
		}
		catch(ex){
		}
	}
}

//Iterator 迭代器原型
function Iterator(){}
Iterator.prototype.next = $abstract;
Iterator.prototype.hasNext = $abstract;
Iterator.prototype.toArray = function(){
	var _set = [this.item()];
	while(this.hasNext())
	{
		_set.push(this.item());
		this.next();
	}
	return _set;
}
//Serializer 序列化原型
function Serializer(){}
Serializer.prototype.serialize = function(encoder)
{
	var ret = [];
	encoder = encoder || 
		function(s){
			s = s || '';
			return s.replace(/\'/g,"\\'").replace(/([:{},])/g,function(s){s=s.charCodeAt(0).toString(16); while(s.length<4) s="0"+s; return "\\u"+s});
		}
	
	for(var each in this)
	{
		var o = this[each]
		if(!(o instanceof Function))
		{
			if(o.serialize instanceof Function)
			{
				o = o.serialize(encoder);
				ret.push("'"+encoder(each)+"'" + ":" + o);
			}
			else
				ret.push("'"+encoder(each)+"'" + ":" + "'" + encoder(o) + "'");
		}
	}

	return "{" + ret.join() + "}";
}

//Array 數組擴展
//any是一個集合迭代函數,它接受一個閉包作為參數
//當集合中的任何一個元素調用閉包的結果返回非false時,any()返回計算結果,否則返回false
Array.prototype.any = function(closure, _set){	
	_set = _set || false;

	if(typeof closure == 'undefined')
		closure = function(x){return x};
	if(typeof closure != 'function')
	{
		var c = closure;
		closure = function(x){return x == c}
	}
	
	var args = Array.apply(this, arguments).slice(2);

	for(var i = 0; i < this.length; i++)
	{
		var rval = closure.apply(this, [this[i]].concat(args).concat(i))
		if(rval || rval === 0)
		{
			if(_set && _set.put)
				_set.put(rval);
			else
				return rval;
		}
	}

	return _set;
}
//each是一個集合迭代函數,它接受一個閉包作為參數和一組可選的參數
//這個迭代函數依次將集合的每一個元素和可選參數用閉包進行計算,并將計算得的結果集返回
Array.prototype.each = function(closure){
    closure = closure || undefined;
	var _set = [];
	_set.put = _set.push;
	return this.any.apply(this, [closure, _set].concat(Array.apply(this, arguments).slice(1)));
}
//all是一個集合迭代函數,它接受一個閉包作為參數
//當且僅當集合中的每一個元素調用閉包的返回結果為true時,它才返回true
Array.prototype.all = function(closure){
	return this.each.apply(this, arguments).length == this.length;
}

//除去數組中的null、false元素
Array.prototype.trim = function(){
    return this.each();
}

//判斷數組中是否包含某個元素
Array.prototype.contains = function(el){
	return this.any(function(x){return x == el});
}

//獲得數組中值等于el的第一個索引,若不存在返回-1
Array.prototype.indexOf = function(el){
	return this.any(function(x, i){return el == x?i:-1});
}
//刪除數組中第一個等于o的元素,返回被刪除元素的位置
//如果刪除的元素不存在,返回-1
Array.prototype.remove = function(o){
	var idx = this.indexOf(o);
	if(idx != -1)
	{
		this.splice(idx,1);
	}
	return idx;
}

//獲得從start到end的子數組
Array.prototype.subarr = function(start, end){
	end = end || Math.Infinity;
	return this.each(function(x, i){return i >= start && i < end ? x : null});
}
//這是一個集合迭代函數,它接受一個list和一個閉包
//返回這個閉包對于集合和list元素的一組匹配
Array.prototype.map = function(list, closure){
	if (typeof list == 'function' && typeof closure != 'function')
	{
		var li = closure;
		closure = list;
		list = li;
	}
	closure = closure || Array;

	return this.each(function(x, i){return closure(x, list[i])});
};
Array.prototype.iterator = function(){
	
	var _it = new Iterator();
	var _cursor = 0;
	var _arr = this;

	_it.next = function(){
		_cursor++;
		return _it;
	}

	_it.item = function(){
		return _arr[_cursor];
	}

	_it.hasNext = function(){
		return _cursor < _arr.length - 1;
	}

	return _it;
}
// 除去左邊空白
String.prototype.leftTrim = function()
{
	return this.replace(/^\s+/g,""); 
} 
// 除去右邊空白
String.prototype.rightTrim = function()
{
	return this.replace(/\s+$/g,""); 
}
// 除去兩邊空白
String.prototype.trim = function()
{
	return this.replace(/(^\s+)|(\s+$)/g,""); 
}
// 得到字節長度
String.prototype.bytes = function()
{
	return this.replace(/[^\x00-\xff]/g,"--").length;
}
//根據字符串返回javascript日期類型對象,如果不是合法的日期字符串返回null
Date.parseDate = function(date)
{
	if (date == null)
	{
		return new Date();
	}
	if (date instanceof Date)
	{
		return date;
	}
	else
	{
		date = new Date(date.replace(/-/g,"/"));
	}
	if (isNaN(date.getTime()))
	{
		return null;
	}
	else
		return date;
}
//返回當前日期對象所在月份的天數
Date.prototype.getDaysOfMonth = function(date)
{
	return this.getLastDayOfMonth().getDate();
}
//獲得當前月的第一天
Date.prototype.getFirstDayOfMonth = function()
{
	var year = this.getFullYear();
	var month = this.getMonth();

	return new Date(year,month,1);
}
//獲得當前月的最后一天
Date.prototype.getLastDayOfMonth = function()
{
	var year = this.getFullYear();
	var month = this.getMonth();

	return new Date(year,month+1,0);
}
//獲得下個月的第一天
Date.prototype.getFirstDayOfNextMonth = function()
{
	var year = this.getFullYear();
	var month = this.getMonth();

	return new Date(year,month+1,1);
}
//獲得上個月的第一天
Date.prototype.getLastDayOfLastMonth = function()
{
	var year = this.getFullYear();
	var month = this.getMonth();

	return new Date(year,month-1,0);
}
//返回距離當前日期若干天之前/之后的日期
Date.prototype.getDateFrom = function(days)
{
	if (isNaN(this.getTime()))
		return new Date();
	else 
		return new Date(this.getTime() + 3600 * 24 * 1000 * days);
}
//格式化日期: var date = new Date(); var dateStr = date.toFormattedDateString("YYYY-MM-DD");
Date.prototype.toFormattedDateString = function(patternString)
{
	if(patternString == null)
	return this.toLocaleString();	 

	var ret = patternString;
	var year = this.getFullYear();
	var month = this.getMonth() + 1;
	var date = this.getDate();
	var hour = this.getHours();
	var minute = this.getMinutes();
	var second = this.getSeconds();

	month = month > 9 ? "" + month : "0" + month;
	date = date > 9 ? "" + date : "0" + date;

	ret = ret.replace(/YYYY/gi,year);
	ret = ret.replace(/MM/g,month);
	ret = ret.replace(/DD/gi,date);

	ret = ret.replace(/HH/gi,hour);
	ret = ret.replace(/mm/g,minute);
	ret = ret.replace(/ss/gi,second);

	return ret;
}
Date.prototype.datePart = function()
{
	return new Date(this.getFullYear(), this.getMonth(), this.getDate());
}
Date.now = function()
{
	return new Date();
}
Function.prototype.bind = function(owner)
{
	var $pointer = this;
	return function()
	{
		return $pointer.apply(owner, arguments);
	}
}
//這個函數有兩個版本,一是它能夠讓一個對象在一定時間之后調用某個方法,例如:a.__defer__(b,100);
//另一個是能夠讓一個方法延遲一段時間被調用,例如a.defer(100);
//還有一個可選的參數是args,它表示調用的參數
Function.prototype.defer = function(delay, args){
	var $pointer = this;
	if(!(args instanceof Array))
		args = [args];
    window.setTimeout(function(){
		return $pointer.apply(this, args);
	}, delay);
}
Object.prototype.__getByNS__ = function(s)
{
	var n = s.split(".");
	var o = this;
	try{
		for(var i = 0; i < n.length; i++)
		{
			var t = n[i];
			if(parseInt(t).toString() == t)
			{
				o = o[t - 0];
			}
			else
				o = o[t];
		}
		return o;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文字幕一区二区| 欧美综合天天夜夜久久| 日韩精品专区在线影院重磅| 日本伊人色综合网| 精品国产乱码久久久久久1区2区| 日本亚洲免费观看| 国产亚洲女人久久久久毛片| 懂色av一区二区三区蜜臀| 国产精品视频一区二区三区不卡| 成人ar影院免费观看视频| 亚洲欧美国产三级| 欧美蜜桃一区二区三区 | 欧美精品一区二区在线播放| 韩国v欧美v亚洲v日本v| 日本一区二区久久| 色诱亚洲精品久久久久久| 视频一区二区不卡| 久久精品夜夜夜夜久久| 99久久精品情趣| 亚洲1区2区3区视频| 精品久久久三级丝袜| 99精品欧美一区二区蜜桃免费| 亚洲欧美日本韩国| 日韩一区二区在线看| 国产精品亚洲а∨天堂免在线| 亚洲色图欧洲色图婷婷| 3d动漫精品啪啪| 成人app网站| 日韩国产在线一| 国产精品久久久久一区二区三区共| 色欧美乱欧美15图片| 九色综合狠狠综合久久| 亚洲精品亚洲人成人网在线播放| 日韩精品一区国产麻豆| 99久久久精品免费观看国产蜜| 免费的成人av| 一区二区在线观看免费| 久久久蜜桃精品| 欧美精品一二三四| 91视频91自| 国产一区欧美一区| 日韩高清一区在线| 亚洲男人的天堂av| 国产亚洲一本大道中文在线| 欧美日韩国产一级| youjizz久久| 国产一区二区在线观看免费| 亚洲一区二区成人在线观看| 中文字幕在线一区二区三区| 精品久久人人做人人爰| 欧美日韩免费视频| 色婷婷av一区二区三区gif| 国产精品一区二区在线播放| 蜜臀国产一区二区三区在线播放| 亚洲自拍偷拍综合| 亚洲天堂成人网| 日本一区二区不卡视频| 欧美精品一区二区三区四区| 欧美日韩国产免费一区二区| 色婷婷av一区二区三区大白胸| 成人激情免费网站| 懂色一区二区三区免费观看| 国产一区视频在线看| 久久精品国产成人一区二区三区 | 911精品国产一区二区在线| 91最新地址在线播放| 国产伦精品一区二区三区视频青涩| 日韩电影在线一区| 日本美女视频一区二区| 亚洲mv在线观看| 亚洲mv在线观看| 午夜精品久久久久久久久久久| 亚洲在线视频一区| 亚洲综合丝袜美腿| 一区二区三区四区视频精品免费 | 成人黄页毛片网站| 大尺度一区二区| 粉嫩高潮美女一区二区三区| 风流少妇一区二区| 成人激情小说网站| 99re在线视频这里只有精品| 色综合久久久久网| 欧美性感一区二区三区| 欧美日韩一区中文字幕| 欧美老年两性高潮| 91精品中文字幕一区二区三区| 制服丝袜在线91| 精品电影一区二区| 国产精品久久久久一区二区三区 | 亚洲视频网在线直播| 一区二区久久久久久| 亚洲综合av网| 麻豆视频观看网址久久| 国产一区二区在线观看视频| 成人综合在线视频| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 91一区二区在线观看| 91福利视频久久久久| 在线电影院国产精品| 亚洲精品一区二区三区四区高清| 久久久一区二区三区捆绑**| 中文字幕欧美一区| 亚洲综合在线观看视频| 日本特黄久久久高潮| 国产精品1区2区| 91在线国产观看| 9191久久久久久久久久久| 久久久综合精品| 亚洲免费三区一区二区| 欧美bbbbb| 成人免费高清视频| 7799精品视频| 国产精品久久久久国产精品日日| 亚洲一二三区视频在线观看| 九九视频精品免费| 99re这里只有精品首页| 91精品国模一区二区三区| 久久嫩草精品久久久精品| 一区二区高清视频在线观看| 美日韩一区二区三区| 91丨porny丨蝌蚪视频| 欧美一区在线视频| 亚洲三级在线免费观看| 蜜桃av一区二区在线观看| 色哟哟欧美精品| 2017欧美狠狠色| 午夜天堂影视香蕉久久| 成人永久aaa| 欧美一级黄色片| 亚洲精品乱码久久久久| 国产一区二区伦理| 欧美猛男男办公室激情| 国产精品久久三| 麻豆91精品视频| 欧美午夜在线观看| 中文字幕一区二区三区av| 久久99久久精品| 欧美日韩亚洲综合一区| 综合在线观看色| 国产99久久久国产精品潘金网站| 69久久99精品久久久久婷婷| 亚洲免费观看高清完整版在线观看熊 | 成人丝袜高跟foot| 精品少妇一区二区三区免费观看 | 亚洲欧美日韩国产一区二区三区 | 免费观看91视频大全| 欧美午夜电影网| 中文字幕电影一区| 国产精品一二三在| 欧美大白屁股肥臀xxxxxx| 午夜婷婷国产麻豆精品| 91九色02白丝porn| 亚洲精选免费视频| 成人a免费在线看| 日本一二三四高清不卡| 国产精品99精品久久免费| 精品精品国产高清一毛片一天堂| 日韩影视精彩在线| 精品视频在线视频| 亚洲午夜国产一区99re久久| 日本精品免费观看高清观看| 亚洲视频 欧洲视频| 不卡在线观看av| 亚洲欧美自拍偷拍色图| 97国产精品videossex| 中文字幕av资源一区| 北条麻妃一区二区三区| 国产精品久线在线观看| 91香蕉视频污| 亚洲精品中文字幕在线观看| 日本高清无吗v一区| 亚洲主播在线观看| 8x8x8国产精品| 久久精品国产99国产精品| 精品免费一区二区三区| 亚洲丝袜自拍清纯另类| 国产盗摄视频一区二区三区| 精品少妇一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 精品国产凹凸成av人网站| 国内精品写真在线观看| 欧美激情一区二区三区不卡 | 国产一区二区美女| 国产亚洲成av人在线观看导航 | 色偷偷成人一区二区三区91| 亚洲精品免费一二三区| 777a∨成人精品桃花网| 精品亚洲成a人在线观看| 久久精品水蜜桃av综合天堂| av在线播放不卡| 亚洲国产va精品久久久不卡综合| 欧美一级精品大片| 国产精品18久久久久久久网站| 国产精品成人在线观看| 欧美日韩国产成人在线91| 经典三级一区二区| 亚洲欧美日韩在线| 91精品欧美一区二区三区综合在| 国产伦精品一区二区三区在线观看| 中文字幕佐山爱一区二区免费|