JavaScriptの「オブジェクト」について詳しく説明します

1.オブジェクトとは何ですか?

    実生活では、すべてがオブジェクトであり、オブジェクトは一个具体的事物有形のオブジェクトです。たとえば、本、車、1つを「オブジェクト」、データベース、Webページ、リモートサーバーへの接続を「オブジェクト」にすることができます。
    JavaScriptでは、それはオブジェクトのセット无序的相关属性セットであり方法、文字列、数値、配列、関数などのすべてのものはオブジェクトであり、他の
     オブジェクトは作成され属性方法構成されています

  • プロパティ:特征オブジェクト属性使用して表すもの(固有名詞)
  • 方法:物事行为、オブジェクト方法使用して表現する場合(一般的な動詞)

2.なぜオブジェクトが必要なのですか?(「犬の頭が命を救う」も知りたい)

    値を保存するときに使用でき、变量複数の値(値のセット)保存するときに使用できます数组。人の完全な情報を保存したい場合はどうなりますか?
配列の格納方法は次のとおりです。

var arr = ['小明','男',179,120]

JSのオブジェクト式の構造は、より明確で強力です。オブジェクトの式の構造は次のとおりです。

小明.姓名 = '小明'
小明.性别 = '男'
小明.身高 = '179'
小明.体重 = '120'

person.name =  '小明';
person.sex = '男';
person.age = '179';
person.height = '120'

オブジェクトを作成する3つ、3つの方法

JavaScriptでは、この段階で次の3つの方法でオブジェクトを作成できます。

  • 字面量オブジェクトの作成に使用
  • new Objectオブジェクトの作成に使用
  • 构造函数オブジェクトの作成に使用
    1.リテラルを使用してオブジェクトを作成
    オブジェクトリテラル:中括弧{}には、この特定のもの(オブジェクト)を表現するための属性とメソッドが含まれています
//利用对象字面量创建对象
//var obj = {}//创建了一个空的对象
var obj ={
    
    
	uname : '小明',
	age:18,
	sex:'男',
	HI:function(){
    
    
	console.log('hellword!')
}
}
//(1)里面的属性或者方法我们采取键值对的形式 键 属性名 : 值 属性值
//(2)多个属性或者方法中间用逗号隔开的
//(3)方法冒号后面跟的是一个匿名函数
//2、使用对象
//(1)调用对象的属性 我们采取 对象名.属性名
console.log(obj.uname);
//(2) 调用属性还有一种方法 对象名['属性名']
console.log(obj['age'])
//(3)调用方法 HI 对象名.方法名  一定要记得添加小括号
obj.HI()

2.変数、属性、関数、およびメソッドの違い

  • 変数と属性は同じで、データを格納するために使用されます
var num = 10;
var obj = {
    
    
	age:10
}
  1. 変数:個別に宣言および割り当てられ、使用する場合は、変数名を直接記述して、単独で存在します
  2. 属性:オブジェクトで宣言する必要はありません。宣言する必要があります。对象.属性
  • 関数とメソッドの類似点は、特定の関数を実行して何かを実行することです。
  1. 関数は個別に宣言され、関数名()は個別に呼び出されます
  2. オブジェクトでメソッドが呼び出されると、 对象.方法()
var num = 10;
var obj = {
    
    
	fn:function(){
    
     //里面的是方法

	}
	age:10
}
function fn (){
    
     //外面的是函数

}

3.新しいオブジェクトを使用してオブジェクトを作成します

var obj = new Object();//创建了一个空的对象
obj.uname = '小明'
obj.age = 18;
obj.sex = '男'
obj.fn = function(){
    
    
	console.log('helloword!')
}
//(1)我们是利用等号 = 赋值的方法 添加对象的属性和方法
//(2)每个属性和方法之间用 分号结束
console.log(obj.uname)
obj.fn()

4.コンストラクターを使用してオブジェクトを作成します。
なぜコンストラクターを使用する必要があるのですか?
(1)オブジェクトを作成する前の2つの方法では、一度に1つのオブジェクトしか作成できないため
(2)関数メソッドを使用して同じコードを繰り返すことができるため、この関数を呼び出します构造函数。この関数は異なるため、カプセル化されます。通常のコードではありませんが、对象
(3)コンストラクターは、オブジェクト内の同じプロパティとメソッドのいくつかを抽象化し、それを関数にカプセル化することです。

//利用构造函数创建对象
//我们需要创建几个对象  相同的属性: 名字 年龄  性别 等等
//构造函数的语法格式
function 构造函数名 (){
    
    
	this.属性 =this.方法 = function(){
    
    }
}
new 构造函数名();



function Star(uname,age,sex){
    
         //1、构造函数的名字首字母要大写
	this.name =uname;
	this.age = age;
	this.sex = sex;
	this.school = function(sch){
    
    
		console.log(sch);
    }
}
var xiaoming = new Star('小明', 20,'男');
console.log(xiaoming.name)
xiaoming.school('家里蹲大学')

var xiaohong = new Star('小红', 20,'男');
console.log(xiaohong.name)
//2、构造函数不需要return,就可以返回结果
//3、我们调用构造函数必须使用new
//4、我们只要new Star() 调用函数就创建一个对象 函数名{}
//5、属性和方法前面必须添加 this 来指向

ここに画像の説明を挿入します

第四に、コンストラクターとオブジェクトの関係

オブジェクト:是一个具体的事物
コンストラクター:是泛指的某一个大类

5つのトラバースオブジェクト

//遍历对象
var obj = {
    
    
	name:'小名',
	age:5,
	sex:'男'
}
console.log(obj.name)
console.log(obj.age)
console.log(obj.sex)

//通过for in 遍历对象来简化操作
for (变量 in 对象){
    
    }

for (var key in obj){
    
    
	console.log(obj[key]);
}

おすすめ

転載: blog.csdn.net/weixin_45054614/article/details/107801143