首頁 > web前端 > js教程 > JavaScript常用腳本總結(二)_javascript技巧

JavaScript常用腳本總結(二)_javascript技巧

WBOY
發布: 2016-05-16 16:11:07
原創
1260 人瀏覽過

把JavaScript中的偽數組轉換為真數組

在JavaScript 中, 函數中的隱藏變數arguments 和用getElementsByTagName 得到的元素集合(NodeList)都不是真正的數組,不能使用push 等方法,在有這種需要的時候只能先轉換為真正的數組。

對於arguments,可以使用Array.prototype.slice.call(arguments); 來達到轉換的目的,但對於NodeList 則不行了,其在IE8 及以下將會報錯,只能說其JS 引擎有所限制。

因此,如果需要把 NodeList 轉換為真正的數組,則需要做下相容處理。

複製程式碼 程式碼如下:

function realArray(c) {
    try {
        return Array.prototype.slice.call(c);
    } catch (e) {
        var ret = [], i = 0, len = c.length;
        for (; i             ret[i] = (c[i]);
        }
        return ret;
    }
}

JavaScript設定主頁功能

複製程式碼 程式碼如下:




    JavaScript設定「設為首頁」和「收藏頁」(相容於IE和火狐瀏覽器)
   
   


    設為首頁



JavaScript收藏功能

複製程式碼 程式碼如下:




    示範標題>
   
   
   
   
        jQuery.fn.addFavorite = function(l, h) {
            回傳 this.click(function() {
                var t = jQuery(this);
                if(jQuery.browser.msie) {
                    window.external.addFavorite(h, l);
                } else if (jQuery.browser.mozilla || jQuery.browser.opera) {
                    t.attr("rel", "側邊欄");
                    t.attr("標題", l);
                    t.attr("href", h);
                } 其他 {
                    alert("請使用Ctrl D將本頁加入收藏夾!");
                }
            });
        };
        $(函數(){
            $('#fav').addFavourite(document.title,location.href);
        });
    腳本>
頭>

    收藏本站
身體>
 

基於JQuery的,你可以依照自己的需求來修改。

javascript偵測元素是否支援某個屬性程式碼

複製程式碼程式碼如下:

函數 elementSupportsAttribute(元素, 屬性) {
  var test = document.createElement(element);
  if(測試中的屬性){
    返回真實;
  } 其他 {
    回傳錯誤;
  }
};

用法:

複製程式碼程式碼如下:

if (elementSupportsAttribute("textarea", "placeholder") {
} 其他 {
   // 後備
}

建立並使用命名空間

複製程式碼程式碼如下:

var GLOBAL = {};
GLOBAL.namespace = function(str){
var arr = str.split('.'),o = GLOBAL;
for(k=(arr[0]=="GLOBAL")?1:0;k     o[arr[k]]=o[arr[k]]||{};
    o=o[arr[k]];
    }
}

使用方式

複製程式碼程式碼如下:

GLOBAL.namespace("Lang");
GLOBAL.Lang.test = function(){
    //待辦事項
}

以上就是本文的全部內容了,希望大家能夠喜歡。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板