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

JavaScript Basic Tutorial

JavaScript Objects

JavaScript Functions

JS HTML DOM

JS Browser BOM

AJAX Basic Tutorial

JavaScript Reference Manual

Creazione di Oggetti JavaScript

Objects are composed ofProprietàMethodsThe collection of data types.

Like many other programming languages, JavaScript objects can be compared to objects in real life.

In JavaScript, almost everything is an object:

  • Strings can be objects (if defined with the new keyword)

  • Numbers can be objects (if defined with the new keyword)

  • Boolean values can be objects (if defined with the new keyword)

  • Dates are always objects

  • Math is always an object

  • Arrays are always objects

  • Regular expressions are always objects

  • Functions are always objects

  • Object is an object

All JavaScript values are objects except primitives.

JavaScript primitives

Primitive values are values without properties or methods.

In JavaScript, there are 5 primitive types:

  • string

  • number

  • boolean

  • null

  • undefined

Gli oggetti sono variabili

Le variabili JavaScript possono contenere solo un valore.

var user = "oldtoolbag.com";
Prova a vedere‹/›

Gli oggetti sono variabili, ma gli oggetti possono contenere molti valori.

Gli oggetti possono essere scritti comename: valueCon, e separati da due punti ( : ).

var user = {firstName: "韦萨尔", lastName: "乔达里", age: 22, location: "新德里"};
Prova a vedere‹/›

Gli oggetti JavaScript sono una raccolta di proprietà non ordinata.

Proprietà dell'oggetto

Le proprietà sono l'associazione tra nome e valore dell'oggetto e possono contenere qualsiasi tipo di dati.

Le proprietà sono solitamente le caratteristiche dell'oggetto.

ProprietàValore della proprietà
firstNameVishal
lastNameGhodaari
age22
locationNuova Delhi

In capitolo successivo, imparerai di più sulle proprietà.

Metodi dell'oggetto

I metodi sono funzioni come valori delle proprietà degli oggetti, quindi sono attività che l'oggetto può eseguire.

I metodi sono memorizzati come proprietà dell'oggetto comeDefinizione della funzione

ProprietàValore appropriato
firstNameVishal
lastNameGhodaari
age22
locationNuova Delhi
getNamefunction() {return this.firstName + " " + this.lastName;}

Attenzione:È un metodo per memorizzare funzioni come proprietà.

Creare un oggetto JavaScript

JavaScript ha molti oggetti predefiniti. Inoltre, è possibile creare i propri oggetti.

Ci sono molti modi per creare nuovi oggetti:

  • UtilizzandoCostanti oggettoche utilizza parentesi graffe: {}

  • UtilizzandoCostruttore dell'oggettoche utilizza new Object()

  • O, è possibile creare prima un构造函数   e quindi esemplificare un oggetto che chiama quella funzione

Utilizzo delle costanti oggetto

UtilizzandoCostanti oggettoÈ il metodo più semplice per creare oggetti JavaScript.

UtilizzandoCostanti oggettoè possibile definire e creare un oggetto in una singola istruzione.

Esempio seguente crea un nuovo oggetto JavaScript con quattro proprietà:

var user = {firstName: "韦萨尔", lastName: "乔达里", age: 22, location: "新德里"};
Prova a vedere‹/›

La definizione dell'oggetto può essere distribuita su più righe:

var user = {
  firstName: "Vishal",
  lastName: "Ghodaari",
  age: 22,
  location: "Nuova Delhi"
};
Prova a vedere‹/›

Utilizzando new Object()

UtilizzandoCostruttore dell'oggettoÈ un altro metodo per creare oggetti JavaScript.

Esempio seguente crea un nuovo oggetto JavaScript con quattro proprietà:

var user = new Object();
user.firstName = "Vishal";
user.lastName = "Ghodaari";
user.age = 22;
user.location = "Nuova Delhi";
Prova a vedere‹/›

Gli ultimi due esempi sono completamente identici. Non è necessario utilizzare new Object().

UtilizzandoOggetto letteraleÈ il metodo più comune e preferito, poiché è meno probabile che si verifichino risultati inconsistenti e inaspettati.

Utilizzo del costruttore

Inoltre, è possibile creare un oggetto attraverso due passaggi seguenti:

  • 通过编写构造函数定义对象类型(约定中使用大写首字母)

  • 使用new关键字创建对象的示例

下面的示例通过编写构造函数定义对象类型:

  function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
  }

现在我们可以创建一个名为user1的对象,如下所示:

var user1 = new User("韦萨尔", "乔达里", 22, "新德里");
Prova a vedere‹/›

我们将在本教程的后面部分讨论构造函数

JavaScript对象是可变的

可变是一种可以更改的变量。在JavaScript中,只有对象和数组是可变的,不是原始值。

可变对象是一种对象,其状态在创建后即可修改。

不可变对象是一旦创建对象便无法更改其状态的对象。

字符串数字不可变的。让我们用一个示例来理解这一点:

  var immutableString = "Hello";
  
  // 在上面的代码中,创建了一个带有字符串值的新对象。
  
  immutableString = immutableString + "World";
  
  // 我们现在将"World"附加到现有值。

在将"immutableString"附加到字符串值后,将发生以下事件:

  • 检索"immutableString"的现有值

  • "World"附加到"immutableString"的现有值之后

  • 然后将结果值分配给新的内存块

  • 现在,"immutableString" 对象指向新创建的内存空间

  • 以前创建的内存空间现在可用于垃圾回收

对象是可变的:它们是通过引用而不是值来寻址的。

如果user是对象,则以下语句将不会创建该用户的副本:

  var x = user; // 这不会创建user副本。

对象x不是user的副本,它是user。x和user是同一个对象。

对x的任何更改也将更改user,因为x和user是相同的对象。

var user = {firstName: "韦萨尔", lastName: "乔达里", age: 22, location: "新德里"};
var x = user;
x.location = "Goa"; // questo cambierà contemporaneamente x.location e user.location
Prova a vedere‹/›

Confrontare gli oggetti

In JavaScript, gli oggetti sono di tipo riferimento. Anche se due oggetti diversi hanno le stesse proprietà, non saranno mai uguali.

// due variabili, due oggetti diversi con le stesse proprietà
var fruit = {name: "apple"};
var fruitbear = {name: "apple"};
fruit == fruitbear; // restituisce false
fruit === fruitbear; // restituisce false
Prova a vedere‹/›

Comparare solo la referenza dello stesso oggetto con se stesso restituisce true:

// due variabili, un oggetto
var fruit = {name: "apple"};
var fruitbear = fruit; // assegna la referenza dell'oggetto fruit a fruitbear
// qui fruit e fruitbear puntano allo stesso oggetto
fruit == fruitbear; // restituisce true
fruit === fruitbear; // restituisce true
Prova a vedere‹/›