كما نعلم جميعًا ، تعد JavaScript لغة برمجة شائعة جدًا. يمكن للمطورين استخدامه ليس فقط لتطوير برامج ويب رائعة ، ولكن أيضًا تطوير بعض تطبيقات الهاتف المحمول (مثل PhoneGap أو AppCelerator). كما أن لديها بعض تطبيقات الخادم ، مثل NodeJs و Wakanda والتطبيقات الأخرى. بالإضافة إلى ذلك ، يختار العديد من المطورين JavaScript كلغة تمهيدية واستخدامها لصنع أشياء صغيرة مثل المنبثقة.
في هذه المقالة ، سيشاركك المؤلف مع النصائح الصغيرة وأفضل الممارسات والمحتوى العملي الأخرى لتطوير JavaScript. سواء كنت مطورًا أماميًا أو مطورًا خادمًا ، فيجب عليك إلقاء نظرة على هذه النصائح الصغيرة ، فهي بالتأكيد ستفيدك.
تم اختبار مقتطفات الكود المقدمة في المقالة في أحدث إصدار من Chrome 30 ، والذي يستخدم محرك V8 JavaScript (V8 3.20.17.15).
1. عند تعيين قيمة لمتغير لأول مرة ، لا تنسى الكلمة الرئيسية VAR
قم بتعيين قيمة لمتغير غير معلن ، والذي سيتم إنشاؤه تلقائيًا كمتغير عالمي. في تطوير JS ، ينبغي تجنب المتغيرات العالمية.
2. استخدم === استبدال ==
ولا تستخدم أبدًا = أو! =.
نسخة الكود كما يلي:
[10] === 10 // كاذب
[10] == 10 // صحيح
'10' == 10 // صحيح
"10 '=== 10 // كاذبة
[] == 0 // صحيح
[] === 0 // كاذب
'' == false // صحيح ولكن صحيح == "a" كاذب
'' === false // كاذبة
3. استخدم فاصلة فاصلة كمحصول خط
من العادة الجيدة استخدام Semicolons حيث ينتهي الخط ، وحتى إذا نسي المطور إضافة فاصلة فاصلة ، فلن يكون لدى المترجم أي تلميحات لأنه في معظم الحالات ، سيضيف محلل JavaScript لها تلقائيًا.
4. إنشاء مُنشئ
نسخة الكود كما يلي:
وظيفة الشخص (FirstName ، LastName) {
this.firstName = firstName ؛
this.lastname = lastName ؛
}
var saad = شخص جديد ("سعد" ، "mousliki") ؛
5. كن حذرًا في استخدام typeof و extailof و constructor
نسخة الكود كما يلي:
var arr = ["A" ، "B" ، "C"] ؛
نوع ARR ؛ // إرجاع "كائن"
arr extryof array // true
arr.constructor () ؛ // []
6. إنشاء وظيفة معالجة الذات
يشار إلى ذلك غالبًا على أنه وظيفة مجهولة للذات أو تعبير وظيفة مكالمة فورية (LLFE). عند إنشاء وظيفة ، سيتم تنفيذها تلقائيًا ، مثل ما يلي:
نسخة الكود كما يلي:
(وظيفة(){
// بعض التعليمات البرمجية الخاصة التي سيتم تنفيذها تلقائيًا
}) () ؛
(وظيفة (أ ، ب) {
var result = a+b ؛
نتيجة العودة
}) (10،20)
7. إنشاء عنصر عشوائي للمصفوفة
نسخة الكود كما يلي:
var heads = [12 ، 548 ، 'a' ، 2 ، 5478 ، 'foo' ، 8852 ، 'doe' ، 2145 ، 119] ؛
var randomitem = العناصر [math.floor (math.random () * items.length)] ؛
8. الحصول على رقم عشوائي في نطاق محدد
الرمز التالي شائع جدًا ، عندما تحتاج إلى إنشاء بيانات مزيفة للاختبار ، مثل الحصول على قيمة عشوائية قبل الحد الأدنى للأجور والحد الأقصى.
نسخة الكود كما يلي:
var x = math.floor (math.random () * (max - min + 1)) + min ؛
9. إنشاء مجموعة من الأرقام العشوائية بين الرقم 0 والرقم الأقصى
نسخة الكود كما يلي:
var numberarray = [] ، max = 100 ؛
لـ (var i = 1 ؛ numberArray.push (i ++) <max ؛) ؛ // الأرقام = [0،1،2،3 ... 100]
10. قم بإنشاء مجموعة عشوائية من الأحرف الأبجدية الرقمية
نسخة الكود كما يلي:
وظيفة enderandomalphanum (len) {
var rdmsstring = "" ؛
لـ (؛ rdmstring.length <len ؛ rdmstring += math.random (). toString (36) .Substr (2)) ؛
return rdmsstring.substr (0 ، len) ؛
}
11. تعطل مجموعة الأرقام
نسخة الكود كما يلي:
VAR NUMBERS = [5 ، 458 ، 120 ، -215 ، 228 ، 400 ، 122205 ، -85411] ؛
الأرقام = الأرقام.
/ * ستكون أرقام الصفيف مساوية على سبيل المثال [120 ، 5 ، 228 ، -215 ، 400 ، 458 ، -85411 ، 122205] */
12. سلسلة وظيفة تيم
يمكن أن تحذف وظيفة القطع أحرف المسافة البيضاء في الأوتار ويمكن استخدامها بلغات متعددة مثل Java و C#و PHP.
نسخة الكود كما يلي:
string.prototype.trim = function () {return this.replace (/^/s+|/s+$/g ، "") ؛} ؛
13. إلحاق
نسخة الكود كما يلي:
var array1 = [12 ، "foo" ، {name "Joe"} ، -2458] ؛
var array2 = ["doe" ، 555 ، 100] ؛
Array.Prototype.push.apply (Array1 ، Array2) ؛
/ * array1 سيكون مساوياً لـ [12 ، "foo" ، {name "Joe"} ، -2458 ، "doe" ، 555 ، 100] */
14. تحويل كائنات المعلمة إلى صفيف
نسخة الكود كما يلي:
var argarray = array.prototype.slice.call (وسيطات) ؛
15. تحقق مما إذا كانت المعلمة معينة هي رقم
نسخة الكود كما يلي:
وظيفة isnumber (n) {
العودة! isnan (parsefloat (n)) && isfinite (n) ؛
}
16. تحقق من أن معلمة معينة هي صفيف
نسخة الكود كما يلي:
وظيفة isarray (obj) {
return object.prototype.toString.call (obj) === '[abours array]' ؛
}
لاحظ أنه إذا تم إعادة كتابة طريقة ToString () ، فلن تحصل على النتيجة المتوقعة.
أو يمكنك كتابة هذا:
نسخة الكود كما يلي:
Array.Isarray (OBJ) ؛ // إنها طريقة صفيف جديدة
وبالمثل ، إذا كنت تستخدم إطارات متعددة ، فيمكنك استخدام مثيلات ، وإذا كان هناك الكثير من المحتوى ، فستكون النتيجة أيضًا أخطاء.
نسخة الكود كما يلي:
var myframe = document.createElement ('iframe') ؛
document.body.appendChild (myFrame) ؛
var myarray = window.frames [window.frames.length-1] .array ؛
var arr = new myarray (a ، b ، 10) ؛ // [A ، B ، 10]
// حالة لن تعمل بشكل صحيح ، يفقد Myarray مُنشئه
// لم يتم مشاركة المنشئ بين الإطارات
ARR مثيل Array ؛ // خطأ شنيع
17. احصل على الحد الأقصى والحد الأدنى من القيم من مجموعة الأرقام
نسخة الكود كما يلي:
VAR NUMBERS = [5 ، 458 ، 120 ، -215 ، 228 ، 400 ، 122205 ، -85411] ؛
var maxinnumbers = math.max.apply (الرياضيات ، الأرقام) ؛
var mininnumbers = math.min.apply (الرياضيات ، الأرقام) ؛
18. مسح المصفوفة
نسخة الكود كما يلي:
var myarray = [12 ، 222 ، 1000] ؛
myarray.length = 0 ؛ // سوف يكون Myarray مساوياً لـ [].
19. لا تستخدم حذفًا لحذف العناصر من Array
يمكن للمطورين استخدام الانقسام بدلاً من استخدام حذف عناصر الصفيف. بدلاً من حذف العناصر غير المحددة في الصفيف ، استخدم Delete بدلاً من ذلك.
نسخة الكود كما يلي:
VAR heads = [12 ، 548 ، 'A' ، 2 ، 5478 ، 'Foo' ، 8852 ، 'Doe' ، 2154 ، 119] ؛
items.length ؛ // العودة 11
حذف العناصر [3] ؛ // إرجاع صحيح
items.length ؛ // العودة 11
/ * ستكون العناصر مساوية لـ [12 ، 548 ، "A" ، غير محدد × 1 ، 5478 ، "فو" ، 8852 ، غير محدد × 1 ، "Doe" ، 2154 ، 119] */
لا بأس...
نسخة الكود كما يلي:
VAR heads = [12 ، 548 ، 'A' ، 2 ، 5478 ، 'Foo' ، 8852 ، 'Doe' ، 2154 ، 119] ؛
items.length ؛ // العودة 11
items.splice (3،1) ؛
items.length ؛ // العودة 10
/ * ستكون العناصر مساوية لـ [12 ، 548 ، "A" ، 5478 ، "Foo" ، 8852 ، غير محدد × 1 ، "Doe" ، 2154 ، 119] */
يجب أن تحذف طريقة الحذف خاصية كائن.
20. استخدم سمة الطول لتقصير الصفيف
كما ذكر أعلاه ، يمكن للمطورين أيضًا استخدام سمة الطول لتقصير الصفيف.
نسخة الكود كما يلي:
var myarray = [12 ، 222 ، 1000 ، 124 ، 98 ، 10] ؛
myarray.length = 4 ؛ // سيكون Myarray مساوياً لـ [12 ، 222 ، 1000 ، 124].
إذا كانت قيمة طول الصفيف التي تحددها مرتفعة للغاية ، فسيتغير طول الصفيف وسيتم ملء بعض القيم غير المحددة في الصفيف. خاصية طول الصفيف ليست قراءة فقط.
نسخة الكود كما يلي:
myarray.length = 10 ؛ // طول الصفيف الجديد هو 10
myarray [myarray.length - 1] ؛ // غير محدد