لن أقول الكثير من الهراء ، انتقل مباشرة إلى الموضوع ، أنت ، الرمز المحدد هو كما يلي:
<script> . ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Object.prototype.clone = function () {} ؛ } // for (var i in man) {if (man.hasownproperty (i)) {// filter ، يخرج فقط السمات الخاصة لـ Man's Console.log (i ، ":" ، man [i]) ؛ } ؛ } // الإخراج هو الأيدي: 2 ، الساقين: 2 ، الرؤوس: 1 لـ (var i in man) {// no filtering console.log (i ، ":" ، man [i]) ؛ } // الإخراج IS // الأيدي: 2 index.html: 20 // الساقين: 2 index.html: 20 // heads: 1 index.html: 20 // clone: function () {} for (var i in man) {if (object.prototype.hasownproperty.call (man ، i) }} // نتيجة الإخراج هي اليدين: 2 ، الساقين: 2 ، الرؤوس: 1 </script>بعد ذلك ، سأقدم كائنات اجتياز متكررة JS والصفائف والخصائص.
عند العمل في الواجهة الأمامية ، نحتاج في بعض الأحيان إلى التكرار على بعض كائنات الأنواع غير المعروفة. الرمز كما يلي:
// JS Traversal Object
وظيفة TraversalObject (OBJ)
{
لـ (var a in obj) {
if (typeof (obj [a]) == "كائن") {
TraversalObject (obj [a]) ؛ // اجتياز العودية
}
آخر {
التنبيه (A + "=" + OBJ [A]) ؛ // سيتم عرض القيمة
}
}
}
// نقل قيم كل UR في الكائن
وظيفة TraversalObject (OBJ)
{
لـ (var a in obj) {
إذا (A == "url") تنبيه (OBJ [A]) ؛ / / إظهار قيمة عنوان URL
if (typeof (obj [a]) == "كائن") {
TraversalObject (obj [a]) ؛ // اجتياز العودية
}
}
}
تلعب طريقة اجتياز هذه دورًا جيدًا جدًا عندما يكون الكائن غير منتظم ولكن يحتاج إلى الحصول على نفس السمات.