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

Tutorial básico do JavaScript

Objetos do JavaScript

Funções do JavaScript

DOM HTML do JS

BOM do navegador JS

Tutorial básico do AJAX

Manual de referência do JavaScript

Criação de Objetos do JavaScript

Os objetos são compostos por属性eMétodosO tipo de dados composto por conjuntos.

Como muitos outros linguagens de programação, pode-se comparar os objetos no JavaScript com os objetos da vida real.

No JavaScript, praticamente tudo é um objeto:

  • A string pode ser um objeto (se usar a palavra-chave new para definir)

  • O número pode ser um objeto (se usar a palavra-chave new para definir)

  • O valor booleano pode ser um objeto (se usar a palavra-chave new para definir)

  • A data sempre é um objeto

  • A matemática sempre é um objeto

  • O array sempre é um objeto

  • A expressão regular sempre é um objeto

  • 函数永远是对象

  • Object就是对象

除原语外,所有JavaScript值都是对象。

JavaScript基元

原始值是没有属性或方法的值。

在JavaScript中,有5种原始类型:

  • string

  • number

  • boolean

  • null

  • undefined

对象是变量

JavaScript变量只能包含一个值。

var user = "oldtoolbag.com";
Teste veja‹/›

对象也是变量,但是对象可以包含许多值。

可以将对象写为name:value对,并用冒号(:)分隔。

var user = {firstName: "维沙尔", lastName: "乔达里", age:22, location: "Nova Déli"};
Teste veja‹/›

JavaScript对象是无序属性的集合。

对象属性

属性是对象中名称和值之间的关联,并且可以包含任何数据类型。

属性通常是指对象的特征。

属性属性值
firstName维沙尔
lastName乔达里
age22
location新德里

您将在下一章中了解有关属性的更多信息。

对象方法

方法是作为对象属性值的函数,因此是对象可以执行的任务。

方法存储在属性中作为函数定义.

属性适当的价值
firstName维沙尔
lastName乔达里
age22
location新德里
getNamefunction() {返回 this.firstName} + " " + this.lastName;}

注意:方法是作为属性存储的函数。

创建一个JavaScript对象

JavaScript有许多预定义的对象。另外,您可以创建自己的对象。

有多种创建新对象的方法:

  • Os dois exemplos acima são completamente iguais. Não é necessário usar new Object().对象常量,它使用大括号:{}

  • Os dois exemplos acima são completamente iguais. Não é necessário usar new Object().对象构造函数,它使用new Object()

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

使用对象常量

Os dois exemplos acima são completamente iguais. Não é necessário usar new Object().对象常量是创建JavaScript对象的最简单方法。

Os dois exemplos acima são completamente iguais. Não é necessário usar new Object().对象常量,您可以在一个语句中定义和创建一个对象。

下面的示例创建一个具有四个属性的新JavaScript对象:

var user = {firstName: "维沙尔", lastName: "乔达里", age:22, location: "Nova Déli"};
Teste veja‹/›

对象定义可以跨越多行:

var user = {
  firstName: "维沙尔",
  lastName: "乔达里",
  age: 22,
  location: "新德里"
};
Teste veja‹/›

使用new Object()

Os dois exemplos acima são completamente iguais. Não é necessário usar new Object().对象构造函数这是创建JavaScript对象的另一种方法。

下面的示例创建一个具有四个属性的新JavaScript对象:

var user = new Object();
user.firstName = "维沙尔";
user.lastName = "乔达里";
user.age = 22
;
Teste veja‹/›

user.location = "Nova Déli";

Os dois exemplos acima são completamente iguais. Não é necessário usar new Object().UsandoObjeto literal

é o método mais comum e preferido, pois é menos provável que ocorram resultados inconsistentes e inesperados.

Usando construtor

  • Além disso, você pode criar um objeto em duas etapas:ConstrutorDefinição do tipo de objeto (usado maiúsculo no início do nome, conforme convencionado)

  • Exemplo de criação de objeto usando a palavra-chave new

O exemplo a seguir define o tipo de objeto através da escrita de um construtor:

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

Agora podemos criar um objeto chamadouser1do objeto, conforme mostrado:

var user1 = new User("Vishal", "Jodari", 22, "Nova Déli");
Teste veja‹/›

Vamos discutir isso mais à frente neste tutorialConstrutor.

Os objetos JavaScript são mutáveis

Mutável é uma variável que pode ser alterada. No JavaScript, apenas objetos e arrays são mutáveis, não valores primitivos.

Objeto mutávelé um objeto cujo estado pode ser modificado após a criação.

ImutávelO objeto é um objeto cujo estado não pode ser alterado após a criação do objeto.

stringenúmeroéImutável. Vamos usar um exemplo para entender isso:

  var immutableString = "Hello";
  
  // No código acima, foi criado um novo objeto com um valor de string.
  
  immutableString = immutableString + "World";
  
  // Agora, vamos anexar "World" ao valor existente.

Após anexar "immutableString" ao valor de string, ocorrerão os seguintes eventos:

  • O valor existente de "immutableString" é recuperado.

  • "World" é anexado ao valor existente de "immutableString".

  • Em seguida, o valor resultante é alocado para o novo bloco de memória.

  • Agora, o objeto "immutableString" aponta para o novo espaço de memória criado.

  • O espaço de memória criado anteriormente agora pode ser usado para coleta de lixo.

Os objetos são mutáveis: eles são endereçados por referência, não por valor.

Se o usuário for um objeto, a seguinte declaração não criará uma cópia do usuário:

  var x = user;  // Isso não criará uma cópia do usuário.

O objeto x não é uma cópia do usuário, é o usuário. x e usuário são o mesmo objeto.

Qualquer alteração em x também alterará user, porque x e user são o mesmo objeto.

var user = {firstName: "维沙尔", lastName: "乔达里", age:22, location: "Nova Déli"};
var x = user;
x.location = "Goa";// Isso alterará simultaneamente x.location e user.location
Teste veja‹/›

Comparação de Objetos

No JavaScript, os objetos são tipos de referência. Mesmo que dois objetos diferentes tenham propriedades idênticas, eles nunca serão iguais.

// Dois variáveis, dois objetos diferentes com propriedades idênticas
var fruit = {name: "apple"};
var fruitbear = {name: "apple"};
fruit == fruitbear;  // Retornar false
fruit === fruitbear; // Retornar false
Teste veja‹/›

Apenas comparar a referência do mesmo objeto com si mesmo resultará em true:

// Dois variáveis, um objeto
var fruit = {name: "apple"};
var fruitbear = fruit;  // Atribuição de referência do objeto fruit para fruitbear
// Aqui fruit e fruitbear apontam para o mesmo objeto
fruit == fruitbear; // Retornar true
fruit === fruitbear; // Retornar true
Teste veja‹/›