1.JSON إلى سلسلة
نسخة الكود كما يلي:
وظيفة 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 ؛
} ؛
لـ (var i in o) arr.push ("" " + i +" ': " + fmt (o [i])) ؛
إرجاع '{' + arr.join ('،') + '}' ؛
}
2. تحويل الطابع الزمني حتى الآن
نسخة الكود كما يلي:
وظيفة من unixtime (الطابع الزمني) {
if (! timestamp || timestamp <1000 || timestamp == '') return "" ؛
var thedate = تاريخ جديد (parseint (timestamp) * 1000) ؛
إعادة thedate.
}
3.Data-format
نسخة الكود كما يلي:
// المؤلف: Meizz
// تمديد التاريخ ، تحويل التاريخ إلى سلسلة بالتنسيق المحدد
// 1-2 يمكن استخدام العناصر النائبة للشهر (م) ، اليوم (د) ، الساعة (ح) ، دقيقة (م) ، ثواني (ق) ، وربع (ف).
// يمكن استخدام السنة (y) مع 1-4 عناصر نائبة ، يمكن أن يستخدم Millisecond (S) فقط عنصرًا نائبًا واحدًا (وهو رقم 1-3 أرقام)
// مثال:
// (تاريخ جديد ()). تنسيق ("Yyyyy-MM-DD HH: MM: SS.S") ==> 2012-12-02 08: 12: 04.423
// (تاريخ جديد ()). التنسيق ("Yyyy-MD H: M: SS") ==> 2012-12-02 8: 12: 4.18
date.prototype.format = function (fmt) {
var o = {
"M +": this.getmonth () + 1 ، // month
"D+": this.getDate () ، // day
"H+": this.gethours () ، // ساعات
"M+": this.getMinutes () ، // min
"S+": this.getSeconds () ، // sec
"Q +": Math.Floor ((this.getMonth () + 3) /3) ، // Quarterly
"S": this.getMillisEconds () // ms
} ؛
إذا (/(y+)/.test(fmt))
fmt = fmt.replace (regexp. $ 1 ، (this.getlyear () + "") .Substr (4 - regexp. $ 1.Length)) ؛
لـ (var k in o)
if (regexp جديد ("(" + k + ")"). اختبار (FMT)))
fmt = fmt.replace (regexp. $ 1 ، (regexp. $ 1.Length == 1)؟ (o [k]): ("00" + o [k]).
إرجاع FMT ؛
} ؛
4. أضف N أيام حتى الآن
نسخة الكود كما يلي:
وظيفة الإضافة (رقم) {
العودة من unixtime (تاريخ جديد (). getTime () / 1000 + 24 * 60 * 60 * رقم) ؛
}
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 ؛ شريط الأدوات: no ؛ الحالة: لا ؛") ؛
// تعيين قيمة الإرجاع في شكل منبثقة
var result = new array () ؛
النتيجة [0] = "ID_101" ؛
النتيجة [1] = "name_202" ؛
Window.RETURNVALUE = النتيجة ؛
window.close () ؛
7. نطاق JavaScript [النطاق العالمي فقط ونطاق الوظيفة ، لا يوجد لدى JavaScript نطاق كتلة]
نسخة الكود كما يلي:
// 1. النطاق العالمي
var id = "Global Variable" ؛ // 1.1 متغير محدد خارج الوظيفة
وظيفة showmsg () {
message = "رسالة عالمية" ؛ // 1.2 متغيرات تم تعيينها مباشرة بدون تعريف
// تعريف كمتغير عالمي عند استخدامه لأول مرة
}
// 2. نطاق الوظيفة
وظيفة DoCheck () {
var data = "بيانات الوظيفة" ؛ // 2.1 متغيرات محددة داخل الوظيفة
}
8. آلية الميراث JavaScript
نسخة الكود كما يلي:
// 1. وراثة انتحال شخصية الكائن
وظيفة الشخص (strname) {
// الحقول الخاصة
var name = strname ؛
// الأساليب العامة
this.getName = function () {
اسم العودة
} ؛
}
طالب وظيفة (strname ، strschool) {
// تحديد خصائص وطرق فئة الوالدين
this.parent = شخص ؛
this.parent (strname) ؛
حذف هذا. // حذف الأصل المتغير المؤقت
// تحديد الخصائص والأساليب الجديدة
// الحقول الخاصة
مدرسة فار = Strschool ؛
// الأساليب العامة
this.getSchool = function () {
مدرسة العودة
} ؛
}
// 2
// الفرق بين المكالمة والتطبيق هو:
// المعلمة الثانية للمكالمة هي معلمة متغيرة ؛
// المعلمة الثانية للتطبيق هي صفيف ؛
وظيفة animal (strname ، تنوي) {
// الحقول الخاصة
var name = strname ؛
var age = Needage ؛
// الأساليب العامة
this.getName = function () {
اسم العودة
} ؛
this.getage = function () {
عودة العمر ؛
} ؛
}
وظيفة Cat (strname ، تنويج ، strcolor) {
// تحديد خصائص وطرق فئة الوالدين
Animal.Call (هذا ، strname ، تنوي) ؛
// animal.apply (هذا ، صفيف جديد (strname ، تنوي)) ؛
// تحديد الخصائص والأساليب الجديدة
// الحقول الخاصة
var color = strcolor ؛
// الأساليب العامة
this.getInfo = function () {
إرجاع "الاسم:" + this.getName () + "/n"
+ "العمر:" + this.getage () + "/n"
+ "اللون:" + اللون ؛
} ؛
}
// 3. الميراث النموذج الأولي
// النموذج الأولي يتم مشاركة الخصائص والأساليب المعلنة من قبل جميع الكائنات
// سيتم استخدام النموذج الأولي فقط عند قراءة السمات
function.prototype.extend = function (superclass) {
// F هنا هو تجنب الفئات الفرعية للوصول إلى خصائص this.xxx في فئة الأصل
دالة f () {} ؛
f.prototype = superclass.prototype ؛
// مُنشئ فئة الوالدين
هذا.
this.superclass = superclass.prototype ؛
this.prototype = new f () ؛
this.prototype.constructor = هذا ؛
} ؛
function.prototype.mixin = الدالة (الدعائم) {
لـ (var p في الدعائم) {
this.prototype [p] = الدعائم [p] ؛
}
} ؛
مربع الدالة () {}
box.prototype = {
getText: function () {
إرجاع this.text ؛
} ،
setText: function (text) {
this.text = text ؛
}
} ؛
وظيفة checkbox () {}
checkbox.extend (box) ؛
checkbox.mixin ({
ischecked: function () {
إرجاع هذا.
} ،
setChecked: وظيفة (فحص) {
هذا.
}
}) ؛
9. اتصل ، تطبيق وربط
نسخة الكود كما يلي:
// يمثل Thisarg الكائن المشار إليه في هذا عندما يكون المرح في الداخل
// Call & Apply سوف تنفذ المرح على الفور وإرجاع النتيجة
var result = fun.call (thisarg ، arg1 ، ...) ؛
var result = fun.apply (thisarg ، [argsarray]) ؛
// يمثل Thisarg الكائن المشار إليه في هذا عندما يكون المرح في الداخل
// BIND إرجاع وظيفة مجهولة
var tmpfun = fun.bind (thisarg) ؛
var result = tmpfun (arg1 ، ...) ؛
نسخة الكود كما يلي:
<script type = "text/javaScript">
/**
* تمديد وظيفة الوظيفة
*/
function.prototype.bind = function (obj) {
طريقة var = هذا ؛
var tmpfun = function () {
طريقة العودة. apply (OBJ ، الحجج) ؛
} ؛
إرجاع tmpfun ؛
}
وظيفة Parent () {
this.name = "الوالد" ؛
}
وظيفة الطفل () {
this.name = "child" ؛
this.getName = function (time) {
إرجاع الوقت + "" + this.name ؛
} ؛
}
var parent = new parent () ؛
var child = New Child () ؛
تنبيه (child.getName (1)) ؛ // عرض طفل واحد
ALERT (child.getName.Call (الوالد ، 2)) ؛ // show 2 الوالدين [سيتم تنفيذ الاتصال والتطبيق على الفور]
var tmpfun = child.getName.bind (parent) ؛ // لن يتم تنفيذ Bind على الفور
تنبيه (tmpfun (3)) ؛ // عرض 3 أولياء الأمور
</script>
10. JS "==" عامل التشغيل
نسخة الكود كما يلي:
قواعد التحويل
إذا كانت المعامل قيمة منطقية ، فقم بتحويلها إلى رقم قبل المقارنة: false -> 0 ، true -> 1 ؛
إذا كان أحد المعاملين هو رقم والمعامل الآخر هو سلسلة ، فقم بتحويل السلسلة إلى رقم قبل المقارنة ؛
إذا كان أحد المعاملين هو كائن والآخر هو رقم أو سلسلة ، فسيتم تحويل الكائن إلى نوع بدائي قبل المقارنة.
سيحاول المحرك أولاً استدعاء Valueof () ، إذا لم يكن ValueOF () لا يحتوي على كائن أو إرجاع كائن ،
بعد ذلك ، سيحاول المحرك استدعاء ToString () ، وإذا لم يكن ToString () لا يحتوي على كائن أو إرجاع كائن ، فسيتم طرح استثناء ؛
إذا تمت مقارنة كائنين ، حدد ما إذا كانا يشيرون إلى نفس الكائن ؛
إذا كان المعامل نان ، فسوف يعود == خطأ ،! = سيعود صحيح ؛
سيعود فارغ وغير محدد كاذب إذا ما قورنت بالقيم الأخرى.
لكن فارغة == فارغة ، غير محددة == غير محددة ، فارغة == غير محددة ؛
لا يمكن تحويل NULL وغير المحددة إلى قيم أخرى عند المشاركة في المقارنة ؛