<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript常用代碼段搜集_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:29:36
        文檔

        javascript常用代碼段搜集_javascript技巧

        javascript常用代碼段搜集_javascript技巧:1.json轉字符串 代碼如下: function json2str(o) { var arr = []; var fmt = function (s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeo
        推薦度:
        導讀javascript常用代碼段搜集_javascript技巧:1.json轉字符串 代碼如下: function json2str(o) { var arr = []; var fmt = function (s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeo

        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. 彈出窗體與返回值

        代碼如下:
        // 彈出窗體
        var url = "http://www.baidu.com";
        win=window.showModalDialog(url,window,"dialogLeft:400;dialogTop:200;dialogWidth:560px;dialogHeight:380px;scroll:yes;menubar:no;toolbar:no;status:no;");
        // 在彈出窗體中設置返回值
        var result = new Array();
        result[0] = "id_101";
        result[1] = "name_202";
        window.returnValue = result;
        window.close();

        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,...);

        代碼如下:

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript常用代碼段搜集_javascript技巧

        javascript常用代碼段搜集_javascript技巧:1.json轉字符串 代碼如下: function json2str(o) { var arr = []; var fmt = function (s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeo
        推薦度:
        標簽: js 代碼 收集
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 综合一区自拍亚洲综合图区| 99久久免费国产特黄| 亚洲中文字幕久久无码| 亚洲免费综合色在线视频| 色www免费视频| 国产日韩AV免费无码一区二区| 久久精品视频免费看| 久久精品免费一区二区喷潮| 免费高清在线爱做视频| 亚洲精品高清在线| 亚洲视频在线免费看| 日韩国产精品亚洲а∨天堂免| 2022免费国产精品福利在线| 91大神在线免费观看| 成人免费在线视频| 久久久久无码专区亚洲av| 亚洲最大免费视频网| 福利片免费一区二区三区| 无码一区二区三区免费| 成在线人永久免费视频播放| 亚洲国产精品一区二区久久hs| 亚洲日本va一区二区三区| 野花高清在线电影观看免费视频| 亚洲无码黄色网址| 亚洲av无码一区二区三区天堂古代 | 国产精品久久久久久亚洲影视 | 国产精品免费看久久久| 国产∨亚洲V天堂无码久久久| 久久久高清日本道免费观看| 亚洲男人第一av网站| 成人福利在线观看免费视频| 黄色成人免费网站| 黑人大战亚洲人精品一区| 亚洲精品无码久久久久YW| 精品国产免费观看| 看成年女人免费午夜视频| 中文字幕人成人乱码亚洲电影| 毛片免费在线观看| 亚洲一区二区视频在线观看| 一区视频免费观看| 免费v片在线观看无遮挡|