JavaScript再学習のオブジェクト属性呼び出し

JavaScriptオブジェクトの場合:

var obj = {
    
    
	name: "Jack",
	age: 12,
	sayHello: function(){
    
    
		console.log("Hello!")
	}
}

そのプロパティを呼び出すには2つの方法があります

。転送

属性名のエンコードはシンプルで直感的で使いやすいです

console.log(obj.name)
console.log(obj.age)
console.log(obj.sayHello)	//注意这里我没有加(),因此不算调用方法,只是输出函数

ここに画像の説明を挿入

[]転送

。完了可能な通話、[]も完了可能

console.log(obj['name'])
console.log(obj['age'])
obj['sayHello']()	//注意这里我加了(),因此这里是在调用方法

ここに画像の説明を挿入

の代わりに[]のみを使用できます。

JavaScriptでは、場合によっては、[]を使用してオブジェクトのプロパティを呼び出すことしかできません。

属性名に特殊文字(-スペース)が含まれている

たとえば、プロパティ名に特殊文字が含まれている場合、現在のオブジェクトのContent-Typeプロパティを呼び出してから、を使用します。呼び出すと、構文エラーが発生します。
[]メソッドに変更するだけです。

属性名は変数の形式です

属性名が変数の形式になっている場合は、2つの方法を使用して属性を個別に設定し、最後に出力して何が異なるかを確認します。

var obj = {
    
    }

var propName = "name"
obj.propName = "小李"
obj[propName] = "小张"

console.log(obj)

ここに画像の説明を挿入
nameとpropNameの2つのプロパティがあることがわかります。図に示すように、propNameは属性名として扱われますが、これは明らかに必要なものではなく、必要なのは名属性です。
したがって、パラメータの形式でプロパティにアクセスする場合は、[]メソッドしか使用できません。

総括する

。メソッドが関数に影響を与えない場合、2つの場合を除いて、。メソッドの使用はもちろん私たちが見たいものです。

  1. 属性名の特殊文字
  2. 属性名は変数の形式です

おすすめ

転載: blog.csdn.net/qq_43592084/article/details/110304877