1.json ke string
Salinan kode adalah sebagai berikut:
fungsi json2str (o) {
var arr = [];
var fmt = function (s) {
if (typeOf s == 'objek' && s! = null) return json2str (s);
return /^(string| number)$/.test(typeof s)? "'" + S + "'": S;
};
untuk (var i in o) arr.push ("'" + i + "':" + fmt (o [i]));
return '{' + arr.join (',') + '}';
}
2. Konversi cap waktu hingga saat ini
Salinan kode adalah sebagai berikut:
Fungsi fromunixTime (timestamp) {
if (! Timestamp || timestamp <1000 || timestamp == '') return "";
var thedate = tanggal baru (parseInt (timestamp) * 1000);
Kembalikan mereka;
}
3.Data-format
Salinan kode adalah sebagai berikut:
// Penulis: Meizz
// Perpanjangan Tanggal, Konversi Tanggal menjadi String dalam format yang ditentukan
// 1-2 placeholder dapat digunakan selama bulan (m), hari (d), jam (h), menit (m), detik (s), dan kuartal (q).
// Tahun (y) dapat digunakan dengan 1-4 placeholder, milidetik (s) hanya dapat menggunakan 1 placeholder (ini adalah nomor 1-3 digit)
// contoh:
// (tanggal baru ()). Format ("yyyy-mm-dd hh: mm: ss.s") ==> 2012-12-02 08: 12: 04.423
// (tanggal baru ()). Format ("yyyy-md h: m: ss") ==> 2012-12-02 8: 12: 4.18
Date.prototype.format = function (fmt) {
var o = {
"M +": this.getmonth () + 1, // bulan
"D+": this.getDate (), // day
"h+": this.getHours (), // jam
"M+": this.getMinutes (), // min
"S+": this.getSeconds (), // dtk
"q +": math.floor ((this.getmonth () + 3) /3), // triwulanan
"S": this.getMilliseconds () // ms
};
if (/(y+)/.test(fmt))
fmt = fmt.replace (regexp. $ 1, (this.getlyear () + "") .substr (4 - regexp. $ 1.length));
untuk (var k dalam o)
if (regexp baru ("(" + k + ")). test (fmt))
fmt = fmt.replace (regexp. $ 1, (regexp. $ 1.length == 1)? (o [k]): (("00" + o [k]). Substr (("" + O [k]). Panjang)));
mengembalikan fmt;
};
4. Tambahkan n hari hingga saat ini
Salinan kode adalah sebagai berikut:
fungsi addday (angka) {
Kembali dari UNixTime (tanggal baru (). GetTime () / 1000 + 24 * 60 * 60 * angka);
}
5. Saat menggunakan iframe, panggilan timbal balik antara bentuk induk dan bentuk anak
Salinan kode adalah sebagai berikut:
// bentuk induk panggilan fungsi dalam bentuk anak
window.frames ['ifm_id']. valueChange ("id_101");
// Bentuk anak menyebut fungsi bentuk induk
parent.refreshtree ("nodeid_202");
6. Formulir Popup dan Nilai Pengembalian
Salinan kode adalah sebagai berikut:
// Formulir Popup
var url = "http://www.baidu.com";
win = window.showmodaldialog (url, window, "Dialogleft: 400; Dialogtop: 200; Dialogwidth: 560px; DialogHeight: 380px; Gulir: Ya; Menubar: Tidak; Toolbar: Tidak; Status: Tidak;");
// Tetapkan nilai pengembalian dalam formulir pop-up
var result = array baru ();
Hasil [0] = "ID_101";
Hasil [1] = "Name_202";
window.ReturnValue = hasil;
window.close ();
7. JavaScript Lingkup [Hanya ruang lingkup global dan ruang lingkup fungsi, JavaScript tidak memiliki cakupan blok]
Salinan kode adalah sebagai berikut:
// 1. Lingkup Global
var id = "variabel global"; // 1.1 variabel yang didefinisikan di luar fungsi
function showmsg () {
Pesan = "Pesan Global"; // 1.2 Variabel yang secara langsung ditetapkan tanpa definisi
// Tentukan sebagai variabel global saat digunakan untuk pertama kalinya
}
// 2. Lingkup fungsi
function docheck () {
var data = "data fungsi"; // 2.1 variabel yang didefinisikan di dalam fungsi
}
8. Mekanisme Warisan JavaScript
Salinan kode adalah sebagai berikut:
// 1. Warisan Peniruan Objek
function person (strname) {
// bidang pribadi
var name = strname;
// Metode publik
this.getName = function () {
nama pengembalian;
};
}
Function Student (strname, strschool) {
// Tentukan sifat dan metode kelas induk
this.parent = orang;
this.parent (strname);
hapus ini.parent; // Hapus induk variabel sementara
// Tentukan properti dan metode baru
// bidang pribadi
Var School = Strschool;
// Metode publik
this.getSchool = function () {
Sekolah kembali;
};
}
// 2. Panggil (..) atau terapkan (..) warisan objek funtion
// Perbedaan antara panggilan dan berlaku adalah:
// parameter panggilan kedua adalah parameter variabel;
// Parameter kedua Apply adalah array;
fungsi hewan (strname, intage) {
// bidang pribadi
var name = strname;
var usia = intage;
// Metode publik
this.getName = function () {
nama pengembalian;
};
this.getage = function () {
usia kembali;
};
}
function cat (strname, intage, strcolor) {
// Tentukan sifat dan metode kelas induk
Animal.call (ini, strname, intage);
// hewan.
// Tentukan properti dan metode baru
// bidang pribadi
var color = strcolor;
// Metode publik
this.getInfo = function () {
return "name:" + this.getName () + "/n"
+ "Umur:" + this.getage () + "/n"
+ "Warna:" + warna;
};
}
// 3. Prototipe warisan
// Prototipe properti dan metode yang dinyatakan dibagikan oleh semua objek
// prototipe hanya akan digunakan saat membaca atribut
Function.prototype.extend = function (superclass) {
// f di sini adalah untuk menghindari subkelas mengakses properti this.xxx di kelas induk
fungsi f () {};
F.prototype = superclass.prototype;
// konstruktor kelas induk
this.superconstructor = superclass;
this.superclass = superclass.prototype;
this.prototype = new f ();
this.prototype.constructor = this;
};
Function.prototype.mixin = function (props) {
untuk (var p di props) {
this.prototype [p] = props [p];
}
};
kotak fungsi () {}
Box.prototype = {
getText: function () {
kembalikan ini.text;
},
setText: function (teks) {
this.text = teks;
}
};
kotak centang fungsi () {}
Kotak centang.Extend (kotak);
Centang kotak.mixin ({
isChecked: function () {
kembalikan ini.
},
setchecked: function (checked) {
this.Checked = diperiksa;
}
});
9. Hubungi, Terapkan & Bind
Salinan kode adalah sebagai berikut:
// Thisarg mewakili objek yang ditunjukkan oleh ini saat kesenangan ada di dalam
// hubungi & berlaku akan segera mengeksekusi kesenangan dan mengembalikan hasilnya
var result = fun.call (thisarg, arg1, ...);
var result = fun.apply (thisarg, [argsarray]);
// Thisarg mewakili objek yang ditunjukkan oleh ini saat kesenangan ada di dalam
// Bind mengembalikan fungsi anonim
var tmpfun = fun.bind (thisarg);
var result = tmpFun (arg1, ...);
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
/**
* Perluas fungsionalitas fungsi
*/
Function.prototype.bind = function (obj) {
var metode = ini;
var tmpfun = function () {
return method.Apply (OBJ, argumen);
};
mengembalikan tmpfun;
}
function parent () {
this.name = "Parent";
}
function child () {
this.name = "anak";
this.getName = function (time) {
waktu pengembalian + "" + ini.name;
};
}
var parent = new parent ();
var anak = anak baru ();
waspada (child.getname (1)); // tunjukkan 1 anak
alert (child.getname.call (Parent, 2)); // Tunjukkan 2 orang tua [Call & Apply akan segera dieksekusi]
var tmpfun = child.getname.bind (induk); // bind tidak akan segera dieksekusi
peringatan (tmpfun (3)); // tunjukkan 3 orang tua
</script>
10. JS "==" Operator
Salinan kode adalah sebagai berikut:
Aturan konversi
Jika operan adalah nilai boolean, konversinya ke angka sebelum perbandingan: false -> 0, true -> 1;
Jika satu operan adalah angka dan operan lainnya adalah string, maka konversi string ke angka sebelum perbandingan;
Jika satu operan adalah objek dan yang lainnya adalah angka atau string, objek akan dikonversi ke tipe primitif sebelum perbandingan.
Mesin pertama -tama akan mencoba menghubungi nilaiof (), jika valueOf () tidak memiliki override atau mengembalikan objek,
Maka mesin akan mencoba memanggil tostring (), dan jika tostring () tidak memiliki override atau mengembalikan objek, pengecualian dilemparkan;
Jika dua objek dibandingkan, tentukan apakah mereka merujuk ke objek yang sama;
Jika operan adalah Nan, == akan mengembalikan false ,! = Akan mengembalikan true;
Null dan tidak terdefinisi akan mengembalikan false jika dibandingkan dengan nilai lain.
Tetapi null == null, tidak terdefinisi == tidak terdefinisi, null == tidak terdefinisi;
Null dan tidak terdefinisi tidak dapat dikonversi ke nilai -nilai lain ketika berpartisipasi dalam perbandingan;