Kikoa cha Kikoa cha Kikoa cha JavaScript

mimba

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

Jifunze kwa kusaidia

Kumekuja kina cha kuzalisha kifaa cha kina kwa kina kina yote ya aina yoyote ni kumekuja kina cha kuzalisha kifaa cha kina kwa kina kina yote ya aina yoyote.

Kumekuja kina cha kuzalisha kifaa cha kina kwa kina kina yote ya aina yoyote ni kumekuja kina cha kuzalisha kifaa cha kina kwa kina kina yote ya aina yoyote.

Aina ya kina (mbovu) (kikla)

Mwaka wa awali wa kina hii ni na kikotocha. Wengi wa kina hii hawakuweza kuzalisha kina kina yotukio kina yana hata kina kina yena.mbovu".

kuzalisha aina ya kina ya "object" ni kusaidia kwakifaa cha kuzalisha kina.

katika mbinu hii,kifaa cha kuzalisha kina Person() ni kifaa cha kuzalisha kina hii.

kwa new kichwa cha kina cha kuzalisha kifaa cha kina hii kinaweza kuzalisha kina hii ya aina yoyote:

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

Jifunze kwa kusaidia

this kichwa cha kina

katika JavaScript, inaitwa this matukio hayo ni 'miliki' ya kikata cha kina.

this ina thamani, kama inatumiwa katika kina, inaingia kina hilo.

katika kifaa cha kuzalisha kina hii,this Haiwa na thamani. Iko ni mbinu ya kuzungumza wa kina. Kwa kila kina kina kuzaliwa, thamani ya this itakuwa kina hicho.

请注意 this 并不是变量。它是关键词。您无法改变 this 的值。

为对象添加属性

为已有的对象添加新属性很简单:

mimba

myFather.nationality = "English";

Jifunze kwa kusaidia

新属性被添加到 myFather。不是 myMother,也不是任何其他 person 对象。

为对象添加方法

为已有的对象添加新方法很简单:

mimba

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

Jifunze kwa kusaidia

新方法被添加到 myFather。不是 myMother,也不是任何其他 person 对象。

为构造器添加属性

与向已有对象添加新属性不同,您无法为对象构造器添加新属性:

mimba

Person.nationality = "English";

Jifunze kwa kusaidia

如需向构造器添加一个新属性,您必须添加到构造器函数:

mimba

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

Jifunze kwa kusaidia

这样对象属性就可以拥有默认值。

为构造器添加方法

您的构造器函数也可以定义方法:

mimba

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;};
}

Jifunze kwa kusaidia

与向已有对象添加新方法不同,您无法为对象构造器添加新方法。

Inahitajika kuongeza mtu kwenye kikaa cha kuzingatia kwenye kifungu cha kuzingatia.

mimba

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;
    };
}

Funksheni changeName hufikia kifupi name kwa kiwili ya person kwa kifupi ya lastName.

Sasa unaweza kumtaja kwa:

myMother.changeName("Jobs");

Jifunze kwa kusaidia

kwa kutumia myMother ingawa thisinaongoza kwa kuwajua mtu anayotumika hivi karibuni.

Kipengele cha kawaida cha JavaScript

JavaScript ina mbinu ya kuzungumza kipengele cha kawaida cha asili:

mimba

var x1 = new Object();    // Mtu wa kipengele mpya
var x2 = new String();    // Mtu wa huru mpya
var x3 = new Number();    // Mtu wa namba mpya
var x4 = new Boolean();   // Mtu wa halali mpya
var x5 = new Array();     // Mtu wa jumla mpya
var x6 = new RegExp();    // Mtu wa RegExp mpya
var x7 = new Function();  // Mtu wa funtaka mpya
var x8 = new Date();      // Mtu wa muda mpya

Jifunze kwa kusaidia

Math() Kipengele kama hiki hauwa kwenye hili. Math ni kipengele cha kawaida.new Maneno yaliyotumiwa hawafai kwenye Math.

Nimeona hivi?

Kama inayotajwa juu, JavaScript ina ofa kipengele cha data cha asili cha huru, namba na halali. Kama haki inasababisha kuzungumza kipengele kinavyotumika sana!

Tumia maneno ya msingi ya kipengele {} ingawa new Object().

Tumia maneno ya msingi ya huru "" ingawa new String().

Tumia maneno ya msingi ya namba Number().

Tumia maneno ya msingi ya halali new Boolean().

Tumia maneno ya msingi ya jumla [] ingawa new Array().

Tumia maneno ya msingi ya uwezo hata ingawa new RexExp().

Tumia mtukio walioonekana kama mbinu ya funtaka () {} ingawa new Function().

mimba

var x1 = {};            // 新对象
var x2 = "";            // 新的原始字符串
var x3 = 0;             // 新的原始数值
var x4 = false;         // 新的原始逻辑值
var x5 = [];            // Maele mpya wa orodha
var x6 = /()/           // Maele mpya wa kirekadi
var x7 = function(){};  // Maele mpya wa kifaa

Jifunze kwa kusaidia

Maele ya Herufi

Kawaida, herufi inaelewa kwa thamani za asili: var firstName = "Bill"

lakini pia inaweza kutumia new Kufanya maele ya herufi kwa kuanzisha maele: var firstName = new String("Bill")

Tafadhali tafuta Herufi ya JSInayotafsiriwa kwa sababu hawajafikia kufanya maele ya herufi kuwa maele kama maele ya kitu.

Maele ya Namba

Kawaida, namba inaelewa kwa thamani za asili: var x = 456

lakini pia inaweza kutumia new Kufanya maele ya namba kwa kuanzisha maele: var x = new Number(456)

Tafadhali tafuta Namba ya JSInayotafsiriwa kwa sababu hawajafikia kufanya maele ya namba kuwa maele kama maele ya kitu.

Maele ya Boole

Kawaida, maele ya thamani yanaendelea kwa thamani za asili: var x = false

lakini pia inaweza kutumia new Kufanya maele ya thamani kwa kuanzisha maele: var x = new Boolean(false)

Tafadhali tafuta Maele ya JSInayotafsiriwa kwa sababu hawajafikia kufanya maele ya thamani kuwa maele kama maele ya kitu.