جسٹ سکریپٹ اوبجیکٹ کانسٹرکٹر

مثال

function Person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}

آپ خود کوشش کریں

用大写首字母对构造器函数命名是个好习惯。

对象类型(蓝图)(类)

前一章的实例是有限制的。它们只创建单一对象。

有时我们需要创建相同“类型”的许多对象的“蓝图”。

创建一种“对象类型”的方法,是使用对象构造器函数

在上面的例子中,函数 Person() 就是对象构造器函数。

通过 نئی 关键词调用构造器函数可以创建相同类型的对象:

var myFather = new Person("Bill", "Gates", 62, "blue");
var myMother = new Person("Steve", "Jobs", 56, "green");

آپ خود کوشش کریں

این 关键词

在 JavaScript 中,被称为 این 的事物是代码的“拥有者”。

این 的值,在对象中使用时,就是对象本身。

在构造器函数中,این 是没有值的。它是新对象的替代物。 当一个新对象被创建时,this 的值会成为这个新对象。

لطفاً دیکھیئے این یہ نہیں تبدیل سکتا، وہ پرپروپریٹی نہیں، وہ کلمہ ہے۔ آپ نے this کا اقدار تبدیل نہیں کرسکتے۔

طبیعت کو پرپروپریٹی کو جوڑنا

ایک موجود طبیعت کو نئی پرپروپریٹی کو جوڑنا آسان ہے:

مثال

myFather.nationality = "English";

آپ خود کوشش کریں

نئی پرپروپریٹی myFather میں جوڑی گئی نہیں، myMother نہیں، اور کسی دیگر person طبیعت میں بھی نہیں.

طبیعت کو طبیعت کو جوڑنا

ایک موجود طبیعت کو نئی طبیعت کو جوڑنا آسان ہے:

مثال

myFather.name = function () {
    return this.firstName + " " + this.lastName;
};

آپ خود کوشش کریں

نئی طبیعت myFather میں جوڑی گئی نہیں، myMother نہیں، اور کسی دیگر person طبیعت میں بھی نہیں.

کانکٹر فانکشن کو پرپروپریٹی کو جوڑنا

ایک موجود طبیعت کو نئی پرپروپریٹی کو جوڑنے سے متفاوت، آپ نے کانکٹر فانکشن کو نئی پرپروپریٹی کو جوڑ سکتے ہیں نہیں:

مثال

Person.nationality = "English";

آپ خود کوشش کریں

اگر آپ نے کانکٹر فانکشن کو ایک نئی پرپروپریٹی جوڑنا چاہتے ہیں تو آپ کو کانکٹر فانکشن کو جوڑنا چاہئے:

مثال

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
    this.nationality = "English";
}

آپ خود کوشش کریں

ایسے طریقے سے آپ کی طبیعت کی پرپروپریٹی کا دفعہ تعین کرسکتا ہے۔

کانکٹر فانکشن کو طبیعت کو جوڑنا

آپ کا کانکٹر فانکشن بھی طبیعت کو جوڑ سکتا ہے:

مثال

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
    this.name = function() {return this.firstName + " " + this.lastName;};
}

آپ خود کوشش کریں

ایک موجود طبیعت کو نئی طبیعت کو جوڑنے سے متفاوت، آپ نے کانکٹر فانکشن کو نئی طبیعت کو جوڑ سکتے ہیں نہیں。

مجبور ہوگا کہ آپ کانکٹر فانکشن کے اندر ایک طبیعت کو ایک اپنے شیئر کو جوڑیں:

مثال

function Person(firstName, lastName, age, eyeColor) {
    this.firstName = firstName;  
    this.lastName = lastName;
    this.age = age;
    this.eyeColor = eyeColor;
    this.changeName = function (name) {
        this.lastName = name;
    };
}

changeName() فانکشن نیمه نام person کی پرپروپریٹی lastName کو assign کرتی ہے。

اب آپ کچھ کوشا سکتے ہیں:}

myMother.changeName("Jobs");

آپ خود کوشش کریں

انجمن سے myMother جایگزین کریں این،JavaScript کسی شخص کو بروقت پتہ کرسکتا ہے جس کو مدد کی جارہی ہے。

بنیادی JavaScript کانسٹریکٹر

JavaScript اصل اشیاء کیلئے کانسٹریکٹر فراہم کرتا ہے:

مثال

var x1 = new Object();    // ایک نئی اشیاء
var x2 = new String();    // ایک نئی سٹرنگ اشیاء
var x3 = new Number();    // ایک نئی نمبر اشیاء
var x4 = new Boolean();   // ایک نئی بولین اشیاء
var x5 = new Array();     // ایک نئی آرائیج اشیاء
var x6 = new RegExp();    // ایک نئی ریگولر ایکسیپشن اشیاء
var x7 = new Function();  // ایک نئی فنکشن اشیاء
var x8 = new Date();      // ایک نئی تاریخ اشیاء

آپ خود کوشش کریں

Math() اشیاء اس میں نہیں ہیں۔ Math عالمی اشیاء ہے。نئی مفاتح Math میں استعمال نہیں کی جاسکتی

آپ جانتے ہیں؟

جیسا کہ اوپر دیکھا جاسکتا ہے، JavaScript اصل اعداد، شمار و بولین کی اشیاء کی ورزن فراہم کرتا ہے، لیکن پیچیدہ اشیاء بنانے کا کوئی وجہ نہیں ہے! اصل ویلوسٹیوں کا تیزی سے چلنا!

کریپشن کی جگہ پر اشیاء لیکل استعمال کریں {} جایگزین کریں new Object()

کریپشن کی جگہ پر سٹرنگ لیکل استعمال کریں "" جایگزین کریں new String()

کریپشن کی جگہ پر نمبر لیکل استعمال کریں Number()

کریپشن کی جگہ پر بولین لیکل استعمال کریں new Boolean()

کریپشن کی جگہ پر آرائیج لیکل استعمال کریں [] جایگزین کریں new Array()

کریپشن کی جگہ پر نمونہ لیکل استعمال کریں new RexExp()

کریپشن کے لیے فنکشن ایکسپریشن استعمال کریں () {} جایگزین کریں new Function()

مثال

var x1 = {};            // نئی اشیاء
var x2 = "";            // نئی اصل سٹرنگ
var x3 = 0;             // نئی اصل عدد
var x4 = false;         // نئی اصل لگیکل درجہ
var x5 = [];            // نئی آرائی انجیکٹ اوبجیکٹ
var x6 = /()/           // نئی ریگولر ایکسیپریشن اوبجیکٹ
var x7 = function(){};  // نئی فنکشن اوبجیکٹ

آپ خود کوشش کریں

اسٹرنگ اوبجیکٹ

عموماً، اسٹرنگ براہ راست کا استعمال کیاجاتا ہے: var firstName = "Bill"

لیکن بھی استعمال کئے جاسکتا ہے نئی کلمات میں اسٹرنگ اوبجیکٹ بنانے کیلئے کلمات: var firstName = new String("Bill")

لطفاً جسٹا اسکریپٹ اسٹرنگاس باب میں سیکھیں کیونکہ اسٹرنگ دیکھ رکھنا چاہئیے نہیں

شمار اوبجیکٹ

عموماً، شمار براہ راست کا استعمال کیاجاتا ہے: var x = 456

لیکن بھی استعمال کئے جاسکتا ہے نئی کلمات میں شمار اوبجیکٹ بنانے کیلئے کلمات: var x = new Number(456)

لطفاً جسٹا اسکریپٹ شماراس باب میں سیکھیں کیونکہ شمار دیکھ رکھنا چاہئیے نہیں

بولین اوبجیکٹ

عموماً، لگیکل وار براہ راست کا استعمال کیاجاتا ہے: var x = false

لیکن بھی استعمال کئے جاسکتا ہے نئی کلمات میں لگیکل اوبجیکٹ بنانے کیلئے کلمات: var x = new Boolean(false)

لطفاً جسٹا اسکریپٹ لگیکلاس باب میں سیکھیں کیونکہ لگیکل وار دیکھ رکھنا چاہئیے نہیں