亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript常用代碼段搜集

2019-11-20 13:49:25
字體:
來源:轉載
供稿:網友

1.json轉字符串

復制代碼 代碼如下:

function json2str(o) {
    var arr = [];
    var fmt = function (s) {
        if (typeof s == 'object' && s != null) return json2str(s);
        return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
    };
    for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
    return '{' + arr.join(',') + '}';
}

2.時間戳轉為Date

復制代碼 代碼如下:

function fromUnixTime(timeStamp) {
    if (!timeStamp || timeStamp < 1000 || timeStamp == ' ') return "";
    var theDate = new Date(parseInt(timeStamp) * 1000);
    return theDate;
}

3.Data-format

復制代碼 代碼如下:

// 作者: meizz 
// 對Date的擴展,將 Date 轉化為指定格式的String  
// 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符,  
// 年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數字)  
// 例子:  
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2012-12-02 08:12:04.423  
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2012-12-02 8:12:4.18  
Date.prototype.Format = function(fmt) { 
    var o = {
        "M+": this.getMonth() + 1,                 //月份  
        "d+": this.getDate(),                    //日  
        "h+": this.getHours(),                   //小時  
        "m+": this.getMinutes(),                 //分  
        "s+": this.getSeconds(),                 //秒  
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度  
        "S": this.getMilliseconds()             //毫秒  
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

4.日期上增加n天

復制代碼 代碼如下:

function addDay(number) {
        return fromUnixTime(new Date().getTime() / 1000 + 24 * 60 * 60 * number);
}

5. 使用 iframe 時,父窗體與子窗體之間的相互調用

復制代碼 代碼如下:

// 父窗體調用子窗體內的函數 
window.frames['ifm_id'].valueChange("id_101"); 
// 子窗體調用父窗體的函數 
parent.refreshTree("nodeId_202"); 

6. 彈出窗體與返回值

復制代碼 代碼如下:

7. javascript 作用域[只有全局作用域和函數作用域,javascript沒有塊作用域]

復制代碼 代碼如下:

// 1. 全局作用域 
var id = "global variable";    // 1.1 在函數外部定義的變量 
function showMsg(){     
    message = "global message";// 1.2 未定義而直接賦值的變量 
                               //     在第一次使用時被定義為全局變量 

// 2. 函數作用域 
function doCheck(){ 
    var data = "function data";// 2.1 在函數內部定義的變量 

8. javascript 繼承機制

復制代碼 代碼如下:

// 1. 對象冒充繼承 
function Person(strName){ 
    // private fields 
    var name = strName; 
    // public methods 
    this.getName = function(){ 
        return name; 
    };     

function Student(strName,strSchool){ 
    // 定義父類的屬性及方法     
    this.parent = Person; 
    this.parent(strName); 
    delete this.parent;        // 刪除臨時變量 parent 
    // 定義新屬性及方法     
    // private fields 
    var school = strSchool; 
    // public methods 
    this.getSchool = function(){ 
        return school; 
    };      

// 2. Funtion 對象的 call(..) 或 apply(..) 繼承 
//    call 和 apply 的區別在于: 
//      call  的第二個參數為可變參數; 
//      apply 的第二個參數為 Array; 
function Animal(strName,intAge){ 
    // private fields 
    var name = strName; 
    var age = intAge; 
    // public methods 
    this.getName = function(){ 
        return name; 
    };  
    this.getAge = function(){ 
        return age; 
    }; 

function Cat(strName,intAge,strColor){ 
    // 定義父類的屬性及方法     
    Animal.call(this,strName,intAge); 
    // Animal.apply(this,new Array(strName,intAge)); 
    // 定義新屬性及方法     
    // private fields 
    var color = strColor; 
    // public methods 
    this.getInfo = function(){ 
        return "name:" + this.getName() + "/n" 
             + "age:" + this.getAge() + "/n" 
             + "color:" + color; 
    }; 

// 3. prototype 繼承 
//    prototype 聲明的屬性及方法被所有對象共享 
//    prototype 只有在讀屬性的時候會用到 
Function.prototype.extend = function(superClass){ 
    // 此處的 F 是為了避免子類訪問父類中的屬性 this.xxx 
    function F(){}; 
    F.prototype = superClass.prototype; 
    // 父類構造函數 
    this.superConstructor = superClass; 
    this.superClass = superClass.prototype; 
    this.prototype = new F(); 
    this.prototype.constructor = this; 
}; 
Function.prototype.mixin = function(props){     
    for (var p in props){         
        this.prototype[p] = props[p];         
    } 
}; 
function Box(){} 
Box.prototype = {     
    getText : function(){ 
        return this.text; 
    }, 
    setText : function(text){ 
        this.text = text; 
    } 
}; 
function CheckBox(){} 
CheckBox.extend(Box); 
CheckBox.mixin({ 
    isChecked : function(){ 
        return this.checked; 
    }, 
    setChecked : function(checked){ 
        this.checked = checked; 
    } 
}); 

9. call , apply & bind

復制代碼 代碼如下:

// thisArg 表示在 fun 內部時 this 所指示的對象 
// call & apply 將立即執行 fun 并返回結果 
var result = fun.call(thisArg,arg1,...); 
var result = fun.apply(thisArg,[argsArray]); 
// thisArg 表示在 fun 內部時 this 所指示的對象 
// bind 返回的是一個匿名函數 
var tmpfun = fun.bind(thisArg); 
var result = tmpfun(arg1,...); 

復制代碼 代碼如下:

<script type="text/javascript"> 
/**
 * 擴展 Function 的功能
 */ 
Function.prototype.bind = function(obj){ 
    var method = this; 
    var tmpfun = function(){ 
        return method.apply(obj,arguments); 
    }; 
    return tmpfun; 

function Parent(){ 
    this.name = "parent"; 

function Child(){ 
    this.name = "child"; 
    this.getName = function(time){ 
        return time + " " + this.name; 
    }; 

var parent = new Parent(); 
var child = new Child(); 
alert(child.getName(1));                // show 1 child 
alert(child.getName.call(parent,2));    // show 2 parent [call & apply 會立即執行] 
var tmpfun = child.getName.bind(parent);// bind 不會立即執行 
alert(tmpfun(3));                       // show 3 parent 
</script> 

10. js "==" Operator

復制代碼 代碼如下:

轉換規則 
   如果一個操作數是 Boolean 值,則比較之前將其轉成數字:false -> 0, true -> 1; 
   如果一個操作數是數字,另一操作數是字符串,則比較之前將字符串轉成數字; 
   如果一個操作數是對象,另一操作數是數字或字符串,則比較之前會將對象轉為基本類型, 
       引擎會先嘗試調用 valueOf(),如果 valueOf() 沒有 override 或返回一個對象, 
       則引擎會嘗試調用 toString(),如果 toString() 沒有 override 或返回一個對象,則拋出異常; 
   如果是兩個對象進行比較,則判斷它們是否引用同一對象; 
   如果一個操作數是 NaN, == 將返回 false, != 將返回 true; 
   null 和 undefined 與其它值比較將返回 false, 
       但 null == null, undefined == undefined, null == undefined; 
   參與比較時 null 和 undefined 不能轉為其它值;   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲激情久久久| 在线观看日韩www视频免费| 国产成人精品免高潮费视频| 日韩有码片在线观看| 国产精品激情av在线播放| 中文在线资源观看视频网站免费不卡| 亚洲国内精品在线| www欧美日韩| 国产精品久久久久久久久久久不卡| 另类专区欧美制服同性| 国产精品入口免费视频一| 亚洲成人三级在线| 欧美黑人狂野猛交老妇| 欧美一级视频一区二区| 国产乱肥老妇国产一区二| 欧美人与性动交a欧美精品| 日韩av最新在线| 久久国产精品久久精品| 欧美性视频精品| 深夜福利91大全| 7777免费精品视频| 国产在线久久久| 欧美视频在线观看免费| 久久资源免费视频| 亚洲国产精品成人一区二区| 91久久夜色精品国产网站| 亚洲欧美色图片| 国产精品自拍视频| 亚洲人成五月天| 日韩成人在线免费观看| 久久这里有精品视频| 日本亚洲欧洲色α| 亚洲国产女人aaa毛片在线| 91精品久久久久久久久久另类| 国产精品九九九| 国产精品扒开腿做爽爽爽男男| 国产日韩在线视频| 精品久久久国产| 久久精品久久精品亚洲人| 午夜精品久久久久久99热| 欧美日韩国产成人| 亚洲自拍偷拍第一页| 中文字幕亚洲字幕| 中文字幕亚洲欧美在线| 日本精品va在线观看| 日韩欧美在线视频| 日韩成人中文字幕| 欧美精品国产精品日韩精品| 中文字幕精品一区久久久久| 亚洲精品白浆高清久久久久久| 国产精品久久久精品| 亚洲欧美精品一区| 欧美性jizz18性欧美| 不卡av电影院| 亚洲人精品午夜在线观看| 久久影视免费观看| 中文字幕亚洲图片| 国产日韩在线亚洲字幕中文| 日韩在线免费视频观看| 91av在线看| 欧美电影免费播放| 国产精品视频yy9099| 中文字幕成人精品久久不卡| 一本一本久久a久久精品牛牛影视| 亚洲九九九在线观看| 中文字幕亚洲欧美日韩高清| 国产一区二区激情| 亚洲福利视频专区| 51视频国产精品一区二区| 日韩国产欧美精品一区二区三区| 亚洲成人精品视频| 国产精品91久久| 国产婷婷97碰碰久久人人蜜臀| 亚洲一区中文字幕在线观看| 欧美午夜丰满在线18影院| 久久精品国产电影| 久久久久久久久久久久av| 91久久精品一区| 毛片精品免费在线观看| 久久久99久久精品女同性| 热99在线视频| 国产精品专区一| 在线观看视频99| 精品国偷自产在线视频99| 亚洲人成网在线播放| 欧美极品少妇全裸体| 久久精品视频在线| 欧美黑人极品猛少妇色xxxxx| 法国裸体一区二区| 亚洲免费人成在线视频观看| 亚洲白虎美女被爆操| 中文字幕欧美日韩va免费视频| 欧美精品福利视频| 欧美极品欧美精品欧美视频| 91久久久国产精品| 亚洲国产欧美一区二区丝袜黑人| 92裸体在线视频网站| 国产亚洲精品久久久优势| 欧美怡红院视频一区二区三区| 97超级碰在线看视频免费在线看| 精品久久久久久亚洲国产300| 中文字幕日韩精品有码视频| 精品中文字幕视频| 久久夜色精品国产亚洲aⅴ| 精品久久久久久| 国产精品久久精品| 亚洲影影院av| 最新中文字幕亚洲| 亚洲精品98久久久久久中文字幕| 91极品女神在线| 亚洲在线视频观看| 亚洲影视九九影院在线观看| 国产精品一区二区久久| 亚洲第一二三四五区| 欧美精品www| 亚洲美女喷白浆| 色偷偷偷亚洲综合网另类| 97av在线播放| 欧美精品一区三区| 亚洲激情免费观看| 欧美日韩中文字幕日韩欧美| 在线亚洲欧美视频| 夜色77av精品影院| 国产精品久久久久久久app| 亚洲美女av在线| 国产激情久久久久| 国产精品国产福利国产秒拍| 亚洲第一区中文字幕| 亚洲欧美激情在线视频| 青青草成人在线| 欧美国产日韩中文字幕在线| 91在线播放国产| 中国china体内裑精亚洲片| 亚洲精品成人久久久| 日韩欧美主播在线| 成人午夜激情网| 福利视频一区二区| 精品在线小视频| 精品福利视频导航| 国产99在线|中文| 欧美另类极品videosbestfree| 久久久91精品国产| 色999日韩欧美国产| 欧美性色视频在线| 国产精品成人在线| 久久久噜噜噜久久中文字免| 国产91九色视频| 在线观看日韩欧美| 亚洲一区二区三区在线免费观看| 国产成人av在线| 亚洲国产精品久久91精品| 国产精品91在线观看| 欧美精品在线免费| 中文.日本.精品| 亚洲专区在线视频| 亚洲欧洲偷拍精品| 91网在线免费观看| 综合国产在线视频| 亚洲国产精彩中文乱码av在线播放| 国产精品网站视频| 国产一区二区欧美日韩| 欧美另类高清videos| 国产视频久久久久| 91亚洲人电影|