русский  עברית
tadam logo
דוגמאות jQuery
מצאתם שגיאה?
סמנו אותה עם העכבר ותלחצו
Ctrl + Enter
בדיקת כתיב Xhtml.co.il
Orphus system

jQuery.extend( target, [ object1 ], [ objectN ] )

מחזירה: אובייקט
תיאור: ממזג את תוכן של שניים או יותר אובייקטים יחד לתוך האובייקט הראשון.

ארגומנטים

jQuery.extend( target, [ object1 ], [ objectN ] )

הוספה בגרסה: 1.0
אובייקט שיקבל מאפיינים חדשים במקרה אם אובייקטים נוספים מועברים או שהוא מרחיב שדה שמות של jQuery אם הוא ארגומנט יחיד.
object1
אובייקט מכיל מאפיינים נוספים למיזוג.
objectN
אובייקטים נוספים מכילים מאפיינים למיזוג.

jQuery.extend( [ deep ], target, object1, [ objectN ] )

הוספה בגרסה: 1.1.4
אם true, מיזוג מתרחש רקורסיבי (aka. deep copy) .
אובייקט להרחבה. הוא יקבל מאפיינים נוספים.
object1
אובייקט מכיל מאפיינים נוספים למיזוג.
objectN
אובייקטים נוספים מכילים מאפיינים למיזוג.

כאשר אנחנו מספקים שני או יותר אובייקטים ב- $.extend(), מאפיינים מכל האובייקטים מתווספים לאובייקט מטרה.

אם רק ארגומנט אחד מסופק ב- $.extend(), זה אומר, שארגומנט מטרה מושמט. במקרה הזה, אובייקט jQuery בעצמו הופך למטרה. בכך אנחנו יכולים להוסיף פונקציות נוספות לשטח שמות של jQuery. זה יכול להיות מאוד שימושי עבור תוספים של מחברים שרוצים להוסיף שיטות חדשות ל- jQuery.

שימו לב שאובייקט מטרה ( ארגומנט ראשון ) ישתנה, וגם יוחזר מ- $.extend(). אם, לעומת זאת, ברצונינו לשמור אובייקטים מקוריים, נוכל לעשות זאת באמצעות שליחת אובייקט רייק כמטרה:

var object = $.extend({}, object1, object2);

מיזוג שמתבצע על ידי $.extend() בברירת מחדל לא רקורסיבי; אם מאפיין של אובייקט הראשון בעצמו אובייקט או מערך, הוא יוחלף על ידי מאפיין עם אותו מפתח שבאובייקט השני. ערכים לא ממוזגים, זה אפשר לראות בדוגמה למטה על ידי בחינת ערך של בננה. עם זאת, שליחת true עבור ארגומנט של פונקציה ראשונה, אובייקטים ימוזגו רקורסיבית.

מאפיינים לא מוגדרים לא מעותקים. עם זאת, מאפיינים שירשו מאב טיפוס יוחלפו.

דוגמאות

דוגמה 1

מיזוג שני אובייקטים, הראשון ישתנה.
var object1 = {
  apple: 0,
  banana: {weight: 52, price: 100},
  cherry: 97
};
var object2 = {
  banana: {price: 200},
  durian: 100
};
$.extend(object1, object2);
תוצאת הפעלה קוד לעיל:
object1 === {apple: 0, banana: {price: 200}, cherry: 97, durian: 100}

דוגמה 2

מיזוג שני אובייקטים רקורסיבי, אובייקט הראשון ישתנה.
var object1 = {
  apple: 0,
  banana: {weight: 52, price: 100},
  cherry: 97
};
var object2 = {
  banana: {price: 200},
  durian: 100
};

$.extend(true, object1, object2);
תוצאת הפעלה קוד לעיל:
object1 === {apple: 0, banana: {weight: 52, price: 200}, cherry: 97, durian: 100}

דוגמה 3

מיזוג הגדרות ומאפיינים, שינוי הגדרות.
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
תוצאת הפעלה קוד לעיל:
settings == { validate: true, limit: 5, name: "bar" }

דוגמה 4

מיזוג הגדרות ברירת מחדל ללא שינוי ברירת מחדל. זה צורה נפוצה של פיתוח תוסף.
var empty = {}
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = $.extend(empty, defaults, options);
תוצאת הפעלה קוד לעיל:
settings == { validate: true, limit: 5, name: "bar" } empty == { validate: true, limit: 5, name: "bar" }
האם מידע זה היה מועיל?
   

תגובות