أحدث البرامج التعليمية وتطوير الشبكة
×

JS البرنامج التعليمي

JS الصفحة الرئيسية JS المقدمة JS ألى أين JS الناتج JS بناء الجملة JS البيانات JS تعليقات JS المتغيرات JS مشغلي JS علم الحساب JS مهمة JS أنواع البيانات JS وظائف JS الأجسام JS نطاق JS أحداث JS سلاسل JS طرق سلسلة JS أرقام JS طرق عدد JS الرياضيات JS التمور JS تاريخ تنسيقات JS تاريخ طرق JS المصفوفات JS طرق مجموعة JS القيم المنطقية JS مقارنات JS الظروف JS تحول JS حلقة غيرمنتهية For JS حلقة بينما JS استراحة JS نوع التحويل JS التعبير العادي JS أخطاء JS التصحيح JS الرفع JS الوضع الصارم JS دليل الاناقة JS أفضل الممارسات JS الأخطاء JS أداء JS الكلمات المحجوزة JS JSON

JS أشكال

أشكال التحقق من صحة API أشكال

JS موضوع

تعريفات الكائن خصائص الكائن طرق كائن نماذج الكائن

JS وظائف

تعاريف وظيفة وظيفة المعلمات وظيفة الاحتجاج الإغلاق وظيفة

JS HTML DOM

DOM مقدمة DOM أساليب DOM وثيقة DOM عناصر DOM HTML DOM CSS DOM الرسوم المتحركة DOM أحداث DOM EventListener DOM ملاحة DOM العقد DOM Nodelist

JS المتصفح BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS أمثلة

JS أمثلة JS HTML DOM JS HTML إدخال JS HTML الأجسام JS HTML أحداث JS المتصفح JS اختبار قصير JS ملخص

JS المراجع

JavaScript الأجسام HTML DOM الأجسام


 

JavaScript الأجسام


كائنات جافا سكريبت

في جافا سكريبت، والأشياء هي ملك. إذا فهم الأشياء، وتفهم جافا سكريبت.

في جافا سكريبت، تقريبا "كل شيء" هو كائن.

  • Booleans يمكن أن يكون الكائنات (أو البيانات البدائية تعامل ككائنات)
  • Numbers يمكن أن تكون الأجسام (أو البيانات البدائية تعامل ككائنات)
  • Strings يمكن أن تكون الأجسام (أو البيانات البدائية تعامل ككائنات)
  • Dates هي كائنات دائما
  • Maths هي كائنات دائما
  • Regular التعابير هي كائنات دائما
  • Arrays هي كائنات دائما
  • Functions هي كائنات دائما
  • Objects هي الأشياء

في جافا سكريبت، كل القيم، باستثناء القيم البدائية، هي الكائنات.

القيم البدائية هي: سلاسل ("John Doe") وأرقام (3.14), true, false, null ، و undefined .


الكائنات هي المتغيرات التي تحتوي على المتغيرات

يمكن أن تحتوي على متغيرات جافا سكريبت القيم واحدة:

مثال

var person = "John Doe";
انها محاولة لنفسك »

الكائنات هي المتغيرات أيضا. لكن الأشياء يمكن أن تحتوي على العديد من القيم.

تتم كتابة القيم كاسم: أزواج قيمة (اسم وقيمة مفصولة القولون).

مثال

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
انها محاولة لنفسك »

كائن جافا سكريبت هي عبارة عن مجموعة من القيم اسمه


خصائص الكائن

قيم اسمه، في كائنات جافا سكريبت، وتسمى خصائص.

الملكية القيمة
firstName John
lastName Doe
age 50
eyeColor blue

الأشياء كما هو مكتوب أزواج قيمة اسم متشابهة إلى:

  • صفائف النقابي في PHP
  • قواميس في بيثون
  • الجداول التجزئة في C
  • خرائط هاش في جاوة
  • التجزئة في Ruby وبيرل

طرق كائن

الأساليب هي الإجراءات التي يمكن القيام بها على الكائنات.

خصائص الكائن يمكن أن تكون القيم البدائية، وكائنات أخرى، والوظائف.

أسلوب كائن غير خاصية كائن يحتوي على تعريف وظيفة.

الملكية القيمة
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

كائنات جافا سكريبت هي حاويات للقيم اسمه، ودعا الخصائص والأساليب.

سوف تتعلم المزيد عن طرق في الفصول القادمة.


إنشاء كائن جافا سكريبت

مع جافا سكريبت، يمكنك تحديد وإنشاء كائنات الخاصة بك.

هناك طرق مختلفة لإنشاء كائنات جديدة:

  • تحديد وإنشاء كائن واحد، وذلك باستخدام كائن الحرفي.
  • تحديد وإنشاء كائن واحد، مع الجديد الكلمة.
  • تعريف منشئ كائن، ثم إنشاء كائنات من نوع بناؤها.

في ECMAScript 5، ويمكن أيضا أن يتم إنشاء كائن مع وظيفة Object.create() .


باستخدام كائن حرفية

هذا هو أسهل طريقة لإنشاء كائن جافا سكريبت.

استخدام كائن الحرفي، كلاكما تحديد وإنشاء كائن في بيان واحد.

وحرفية الهدف من ذلك هو لائحة من اسم: أزواج قيمة (مثل age:50 ) داخل الأقواس المجعدة {} .

المثال التالي بإنشاء كائن جافا سكريبت جديد مع أربعة خصائص:

مثال

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
انها محاولة لنفسك »

المسافات وفواصل السطور ليست مهمة. تعريف كائن يمكن أن تمتد لعدة أسطر:

مثال

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};
انها محاولة لنفسك »

باستخدام الجديدة جافا سكريبت كلمة

المثال التالي أيضا بإنشاء كائن جافا سكريبت جديد مع أربعة خصائص:

مثال

var person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
انها محاولة لنفسك »

المثالين أعلاه تفعل بالضبط نفس الشيء. ليست هناك حاجة لاستخدام new Object() .
لالبساطة، والقراءة وسرعة التنفيذ، استخدم أول واحد (الكائن طريقة الحرفي).


باستخدام منشئ كائن

الأمثلة أعلاه تقتصر في كثير من الحالات. هم فقط إنشاء كائن واحد.

أحيانا نحب أن يكون هناك "نوع الكائن" التي يمكن استخدامها لإنشاء العديد من الكائنات من نوع واحد.

الطريقة القياسية لخلق "نوع الكائن" هو استخدام وظيفة الكائن منشئ:

مثال

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
انها محاولة لنفسك »

الدالة أعلاه (شخص) هو منشئ الكائن.

مرة واحدة لديك منشئ الكائن، يمكنك إنشاء كائنات جديدة من نفس النوع:

var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");

و this الكلمة

في جافا سكريبت، والشيء يسمى this ، هو الكائن الذي "يملك" شفرة جافا سكريبت.

قيمة this ، عندما تستخدم في وظيفة، هو الكائن الذي "يملك" وظيفة.

قيمة this ، عندما تستخدم في كائن، هو هدف في حد ذاته.

و this الكلمة في منشئ الكائن لا يكون لها قيمة. أنها ليست سوى بديل عن وجوه جديدة.

قيمة this سيصبح الكائن الجديد عندما يتم استخدام منشئ لإنشاء كائن.

لاحظ أن هذا ليس متغير. إنها الكلمة. لا يمكنك تغيير قيمة this .


المدمج في جافا سكريبت البنائون

جافا سكريبت لديها منشئات المدمج في لالكائنات الأصلية:

مثال

var x1 = new Object();    // A new Object object
var x2 = new String();    // A new String object
var x3 = new Number();    // A new Number object
var x4 = new Boolean()    // A new Boolean object
var x5 = new Array();     // A new Array object
var x6 = new RegExp();    // A new RegExp object
var x7 = new Function();  // A new Function object
var x8 = new Date();      // A new Date object
انها محاولة لنفسك »

و Math() كائن غير موجود في القائمة. الرياضيات هو كائن العالمي. الكلمة الجديدة لا يمكن أن تستخدم في الرياضيات.

هل كنت تعلم؟

كما ترون، وجافا سكريبت لديها اعتراض إصدارات أنواع البيانات البدائية سلسلة، عدد، ومنطقية.

ليس هناك من سبب لإنشاء كائنات معقدة. القيم البدائية تنفذ أسرع بكثير.

وليس هناك من سبب لاستخدام جديد Array() . استخدام الحرفية مجموعة بدلا من ذلك: []

وليس هناك من سبب لاستخدام جديدة RegExp() . استخدام الحرفية نمط بدلا من ذلك: /()/

وليس هناك من سبب لاستخدام جديدة Function() . استخدام تعبيرات وظيفة بدلا من ذلك: function () {} .

وليس هناك من سبب لاستخدام new Object() . استخدام الحرفية الكائن بدلا من ذلك: {}

مثال

var x1 = {};            // new object
var x2 = "";            // new primitive string
var x3 = 0;             // new primitive number
var x4 = false;         // new primitive boolean
var x5 = [];            // new array object
var x6 = /()/           // new regexp object
var x7 = function(){};  // new function object
انها محاولة لنفسك »

كائنات جافا سكريبت هي قابلة للتغيير

الكائنات هي قابلة للتغيير: وهي موجهة بالرجوع، لا من حيث القيمة.

إذا ذ هو كائن، فإن البيان التالي تقم بإنشاء نسخة من ذ:

var x = y;  // This will not create a copy of y.

الكائن x هو ليس نسخة من ذ. ومن ذ. كلا x و نقاط ص إلى نفس الكائن.

فإن أي تغييرات على ذ أيضا تغيير السينية، لأن x و y هي نفس الكائن.

مثال

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

var x = person;
x.age = 10;           // This will change both x.age and person.age
انها محاولة لنفسك »