Konversi pseudo-array di javascript ke array yang benar
Dalam JavaScript, argumen variabel tersembunyi dalam fungsi dan set elemen (nodelist) yang diperoleh dengan GetElementsByTagname bukan array nyata, dan metode seperti dorong tidak dapat digunakan. Ketika ada kebutuhan seperti itu, mereka hanya dapat dikonversi ke array nyata terlebih dahulu.
Untuk argumen, Anda dapat menggunakan array.prototype.slice.call (argumen); Untuk mencapai tujuan konversi, tetapi untuk nodelist, itu tidak akan berhasil. Ini akan melaporkan kesalahan di IE8 dan di bawah ini. Hanya dapat dikatakan bahwa mesin JS -nya memiliki beberapa batasan.
Oleh karena itu, jika Anda perlu mengonversi nodelist menjadi array nyata, Anda perlu melakukan proses kompatibilitas ke bawah.
Salinan kode adalah sebagai berikut:
fungsi realArray (c) {
mencoba {
return array.prototype.slice.call (c);
} catch (e) {
var ret = [], i = 0, len = c.length;
untuk (; i <len; i ++) {
ret [i] = (c [i]);
}
kembali kembali;
}
}
JavaScript Mengatur Fungsi Halaman Beranda
Salinan kode adalah sebagai berikut:
<! Doctype html>
<Html>
<head>
<Title> Pengaturan JavaScript "Set as Home" dan "Favorites" (kompatibel dengan IE dan Firefox Browser) </iteme>
<meta charset = "UTF-8">
<type skrip = "Teks/JavaScript">
fungsi setHomePage () {
if (document.all) {
/*YAITU*/
document.body.style.behavior = 'url (#default#homePage)';
document.body.sethomepage (window.location.href);
} lain if (window.sideebar) {
/*Ff*/
if (window.netscape) {
mencoba {
netscape.security.privilegemanager.enablePrivilege ("UniversalxpConnect");
} catch (e) {
Peringatan ("Operasi ini ditolak oleh browser. Jika Anda ingin mengaktifkan fungsi ini, silakan masukkan tentang: konfigurasikan di bilah alamat, dan kemudian masukkan item yang ditandatangani.applets.codebase_principal_support nilai ke true");
}
}
var prefs = components.classes ['@mozilla.org/preferences-service;1' versie.getService(components.interfaces.nsiprefbranch);
prefs.setcharpref ('browser.startup.homepage', window.location.href);
} kalau tidak {
/*chrome atau lainnya*/
Peringatan ("Browser Anda tidak mendukung pengaturan beranda otomatis, silakan gunakan menu browser untuk mengaturnya secara manual!");
}
}
</script>
</head>
<body>
<a onClick = "setHomepage ()" href = "javascript: void (0);"> Set as HomePage </a>
</body>
</html>
Fungsi Koleksi JavaScript
Salinan kode adalah sebagai berikut:
<! Doctype html>
<Html>
<head>
<title> demo </iteme>
<meta charset = "UTF-8">
<skrip src = "// code.jQuery.com/jQuery-1.11.0.min.js"> </script>
<skrip src = "// code.jQuery.com/jquery-migrate-1.2.1.min.js"> </script>
<type skrip = "Teks/JavaScript">
jQuery.fn.addfavorite = function (l, h) {
kembalikan this.click (function () {
var t = jQuery (ini);
if (jQuery.browser.msie) {
window.external.addfavorite (h, l);
} else if (jquery.browser.mozilla || jquery.browser.opera) {
t.attr ("rel", "sidebar");
t.attr ("judul", l);
t.attr ("href", h);
} kalau tidak {
Peringatan ("Silakan gunakan Ctrl+D untuk menambahkan halaman ini ke favorit Anda!");
}
});
};
$ (function () {
$ ('#fav'). AddFavite (document.title, location.href);
});
</script>
</head>
<body>
<a href = "javascript :;" id = "fav"> Simpan situs ini </a>
</body>
</html>
Berdasarkan jQuery, Anda dapat memodifikasinya sesuai dengan kebutuhan Anda.
JavaScript mendeteksi apakah elemen mendukung kode atribut tertentu
Salinan kode adalah sebagai berikut:
Fungsi ElemenSupportSattribute (elemen, atribut) {
var test = document.createElement (elemen);
if (atribut dalam tes) {
Kembali Benar;
} kalau tidak {
mengembalikan false;
}
};
penggunaan:
Salinan kode adalah sebagai berikut:
if (elementsupportsattribute ("textarea", "placeholder") {
} kalau tidak {
// Fallback
}
Buat dan gunakan ruang nama
Salinan kode adalah sebagai berikut:
var global = {};
Global.namespace = function (str) {
var arr = str.split ('.'), o = global;
untuk (k = (arr [0] == "global")? 1: 0; k <arr.length; k ++) {
o [arr [k]] = o [arr [k]] || {};
o = o [arr [k]];
}
}
Cara menggunakan
Salinan kode adalah sebagai berikut:
Global.namespace ("lang");
Global.lang.test = function () {
// todo
}
Di atas adalah semua tentang artikel ini, saya harap Anda menyukainya.