정확히 어떤 종류의 Javascript 기능이며, 정확히 어떻게 사용합니까?어떤 종류의 Javascript 기능입니까?
position = this[this.options.position]();
.call()을 조회했지만 자바의 이상한 사용과 관련된 내용은 거의 없습니다.
감사합니다.
정확히 어떤 종류의 Javascript 기능이며, 정확히 어떻게 사용합니까?어떤 종류의 Javascript 기능입니까?
position = this[this.options.position]();
.call()을 조회했지만 자바의 이상한 사용과 관련된 내용은 거의 없습니다.
감사합니다.
이것은 기능과 관련이 없지만 property access입니다. 이것은 bracket notation입니다. 런타임시 이름이 결정되는 속성에 액세스 할 수 있습니다.
예를 들어,이 둘은 동일합니다
var arr = [1,2,3];
console.log(arr[0]);
그것은 작동하지 : 당신이 배열 일 경우
this.left() // dot notation
//
var position = 'left';
this[position](); // bracket notation
는, 당신은 이미 대괄호 표기법을 가로 질러왔다 일 경우, 의 전화 번호입니다. 이 표현식은 this
이 참조하는 객체에서 this.options.position
이라는 이름의 속성을 조회 한 다음 속성 값이 참조하는 함수를 호출합니다. 예를 들어, this.options.position
에 "one"
문자열이 포함되어 있다면 position = this.one()
과 같습니다.
예 :
var obj = {
options: {},
one: function() {
console.log("This is function one");
return 1;
},
two: function() {
console.log("This is function two");
return 2;
},
example: function() {
var position = this[this.options.position]();
console.log(position);
}
}
obj.options.position = "one";
obj.example();
obj.options.position = "two";
obj.example();
이 call' '과는 아무 상관이 없습니다. 이 함수 호출에 대해 정확히 이해하지 못합니까? 이것은 호출되는 함수를 생성하는 속성 액세스 일뿐입니다. – Xufox
'this.options.position'이''left''이면'position = this.left();' –