English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript基础教程

JavaScript 对象

JavaScript 函数

JS HTML DOM

JS 浏览器BOM

AJAX 基础教程

JavaScript 参考手册

مفهوم (Object) لـ JavaScript

理解JavaScript对象

JavaScript中的对象是一种数据类型,由名称的集合组成,以名称:值对表示。

name:value对可以包含可以包含任何数据类型的属性(包括字符串,数字和布尔值)以及方法,这些方法是对象中包含的函数。

JavaScript中的对象是独立的实体,可以与现实生活中的对象进行比对。

例如,汽车具有名称和颜色等الخاصية以及诸如start(启动)和stop(停止)之类的方法的对象:

对象الخاصية方法

car.name =天蝎座
car.model = 600
car.color =红色
car.horsePower = 103KW

car.start()
car.drive()
car.brake()
car.stop()

所有汽车都具有相同的الخاصية,但是每个汽车的属性值都不同。

所有汽车都有相同的方法,但是这些方法可以具有不同的功能.

创建一个对象

对象是JavaScript数据类型,就像数字或字符串也是数据类型一样。作为数据类型,对象可以包含在变量中。

使用JavaScript构造对象有多种方法:

  • 使用对象常量,它使用大括号:{}

  • 使用سنناقش لاحقًا في هذا الدليل,它使用new Object()

  • 或者,您可以先创建一个المؤسس,然后示例化一个调用该函数的对象

在此示例中,我们将使用 对象字面量(object literal)。什么是字面量?用来为变量赋值时的常数量称为字面量

var user = {firstName:"Vishal", lastName:"Choudhary", age:22, location:"New Delhi"};
الاختبار لمعرفة‹/›

一个对象定义可以跨越多行。

var user = {
  firstName: "Vishal",
  lastName: "Choudhary",
  age: 22,
  age: 22,
};
الاختبار لمعرفة‹/›

location: "New Delhi"سنناقش لاحقًا في هذا الدليلالمؤسس.

خاصية العنصر

الخاصية هي العلاقة بين الاسم وقيمة العنصر وقد تحتوي على أي نوع بيانات.

الخاصية غالبًا ما تشير إلى الخاصية للعنصر.

الخاصيةقيمة الخاصية
firstNameفيشال
lastNameجوداري
age22
locationنيودلهي

الاستعلام عن خاصية العنصر

هناك طريقتان للاستعلام عن خاصية العنصر:

  • الطريقة النقاطية: .

  • المؤشرات المفتوحة: []

لنعد للاستعراض مرة أخرى للعنصر الأصليuser.

user.firstName;
الاختبار لمعرفة‹/›
user["firstName"];
الاختبار لمعرفة‹/›

استخدمت علامات النقاط والثوابت بشكل متكرر. ولكن، الطريقة النقاطية أسرع وأكثر وضوحًا.

طريقة العنصر

الطريقة هي دالة كقيمة الخاصية لعنصر، لذا هي المهمة التي يمكن أن يؤديها العنصر.

تخزن الطريقة كخاصية كجزء منتعريف الدالة.

الخاصيةقيمة الخاصية
firstNameفيشال
lastNameجوداري
age22
locationنيودلهي
getNamefunction() {return this.firstName + " " + this.lastName;}
  var user = {
  firstName: "Vishal",
  lastName    : "Choudhary",
  age    : 22,
  location    : "New Delhi",
  getName    : function() {
   return this.firstName + " " + this.lastName;
  }
  };

ملاحظة:الطريقة هي دالة مخزنة كخاصية.

الوصول إلى طريقة العنصر

للإيجاد طريقة في العنصر، يمكنك تسميتها كما لو كانت دالة عادية، فقط قم بتثبيتها على متغير العنصر.

user.getName();
الاختبار لمعرفة‹/›

إذا تم الوصول إلى الطريقة بدونtheses括اءات، فإنها ستعود إلى تعريف الطريقة:

user.getName;
الاختبار لمعرفة‹/›

ما هوكلمة المفتاح "this"?

قد تكون قد لاحظت أن أساليبنا بعضها غريب. لنأخذ هذا كمثال:

  getName: function() {
   return this.firstName + " " + this.lastName;
  }

كلمة المفتاح this تشير إلى أن الكود مكتوب في العنصر الحالي الداخلي - لذا في هذه الحالة، this يساويuser.

بمعنى آخر، this.firstName يعنيهذا العنصر�性 firstName.

يمكنك فيJS thisالدليلكلمة المفتاح this في JSللإطلاع على معلومات أكثر حول هذا المفتاح

لقد كنت تستخدم العنصر دائمًا

عندما تتصفح هذه الأمثلة، قد تكون كنت تفكر بأن علامات النقاط المستخدمة مألوفة. هذا لأنك كنت تستخدمها طوال الدليل.

每次我们遍历使用内置JavaScript对象的示例时。

当您使用以下行访问文档对象模型时:

  document.write("Hello world");
  document.getElementById("para");

您正在使用Document类示例上可用的方法。对于每个加载的网页,都会创建一个Document示例,称为document,它代表整个页面的结构,内容和其他功能,例如URL。同样,这意味着它具有几种可用的常用方法/属性。

new 关键字

当使用关键字声明JavaScript变量时new,该变量将作为对象创建:

  var a = new Number();  // 将a声明为Number对象
  var b = new String();  // 将b声明为String对象
  var c = new Boolean();   // 将c声明为Boolean对象

避免使用StringNumberBoolean对象。它们会使您的代码复杂化,并降低执行速度。

ستتعرفون على المزيد من المعلومات حول الأجهزة في الجزء التالي من هذا الدرس.