Javascript 방법란?Javascript 메서드 설명서

1.방법이 무엇인가


정규 함수를 정의하고 호출합니다.
function greet(who) {
  return `Hello, ${who}!`;
}

greet('World'); 
function 키워드 뒤에 이름, 매개변수 및 바디: function greet (who) {...}일반 함수 정의를 만듭니다.
greet ("World") 는 일반적인 함수 호출입니다.함수greet('World')는 매개 변수의 데이터를 받아들인다.
만약 누가 대상의 속성이라면?대상의 속성에 쉽게 접근하려면 함수를 대상에 추가할 수 있습니다. 다시 말하면 방법을 만들 수 있습니다.
Google은 greet () 를 대상 세계의 한 방법으로 삼을 것입니다.
const world = {
  who: 'World',

  greet() {    return `Hello, ${this.who}!`;  }}

world.greet(); 
greet() { ... }은 현재 세계적인 대상의 방법이다.세계 1greet () 는 일종의 방법으로 호출된다.
greet () 방법 내부에서 이 방법이 속하는 대상인 월드를 가리킨다.그게 왜?who 표현식 접근 속성 who.
이 또한 컨텍스트라고도 합니다.

컨텍스트는 선택 사항입니다.


이전 예에서는 이 메서드가 속한 객체에 액세스하기 위해 이 메서드를 사용했지만 JavaScript에서는 이 메서드를 강제로 사용하지 않았습니다.
따라서 객체를 메소드의 네임스페이스로 사용할 수 있습니다.
const namespace = {
  greet(who) {
    return `Hello, ${who}!`;
  },

  farewell(who) {
    return `Good bye, ${who}!`;
  }
}

namespace.greet('World');    
namespace.farewell('World'); 
namespace는 두 가지 방법을 포함하는 대상: namespace.greet()namespace.farewell()이다.
이러한 방법은 이 명칭 공간을 사용하지 않고 명칭 공간은 유사한 방법의 소유자로 충당한다.

2. 개체 문자법


이전 장과 같이 객체 텍스트에서 방법을 직접 정의할 수 있습니다.
const world = {
  who: 'World',

  greet() {    return `Hello, ${this.who}!`;  }};

world.greet(); 
greet() { .... }은 대상 텍스트에 정의된 방법입니다.이러한 유형의 정의를 속기 방법 정의(ES2015부터 제공)라고 합니다.
구문을 정의하는 긴 방법도 있습니다.
const world = {
  who: 'World',

  greet: function() {    return `Hello, ${this.who}!`;  }}

world.greet(); 
greet: function() { ... }은 방법의 정의이다.사칭과 function 키워드가 하나 더 있습니다.

동적 추가 방법


이 방법은 단지 대상 속성으로 저장된 함수일 뿐이다.이것이 바로 객체에 동적으로 추가할 수 있는 이유입니다.
const world = {
  who: 'World',

  greet() {
    return `Hello, ${this.who}!`;
  }
};


world.farewell = function () {
  return `Good bye, ${this.who}!`;
}

world.farewell(); 
world 대상은 처음에는 방법이 없었습니다. farewell.동적으로 추가됩니다.
동적 추가 방법은 문제 없는 방법으로 호출할 수 있습니다: world.farewell().

3. 교실 교수법


JavaScript에서 class 구문은 인스턴스의 템플릿으로 사용되는 클래스를 정의합니다.
클래스에는 다음과 같은 방법도 있습니다.
class Greeter {
  constructor(who) {
    this.who = who;
  }

  greet() {    console.log(this === myGreeter);     return `Hello, ${this.who}!`;  }}

const myGreeter = new Greeter('World');
myGreeter.greet(); 
greet() { ... }은 클래스 내부에서 정의하는 방법이다.
새 연산자 (예: myGreeter = new Greeter('World')) 를 사용하여 클래스의 실례를 만들 때마다, 생성된 실례에서 방법을 호출할 수 있습니다.myGreeter.greet()은 어떻게 실례적으로 방법greet()를 호출합니까?중요한 것은 이 방법의 내부는 실례 자체와 같다. 이것은 myGreeter 방법 내부의 greet() { ... }과 같다.

4. 방법을 어떻게 사용하는가


4.1 방법 호출


JavaScript는 특히 흥미로운 것은 대상이나 클래스에 정의된 방법이 작업의 절반이라는 것이다.상하문에서 이 방법을 유지하려면 반드시 이 방법을... 방법으로 호출해야 한다.
왜 그게 중요한지 말해줄게.
위에 greet() 방법이 있는 세계 대상을 생각해 보세요.this을 방법과 일반 함수로 호출할 때 greet()의 값을 검사해 봅시다.
const world = {
  who: 'World',

  greet() {
    console.log(this === world);    return `Hello, ${this.who}!`;
  }
};


world.greet(); 
const greetFunc = world.greet;

greetFunc(); 
world.greet()은 하나의 방법으로 호출된다.대상 세계, 뒤에 점 하나.마지막으로 방법 자체다. 이것이 바로 방법이 사용되는 이유다.greetFunc의 기능은 세계와 같다.안부를 묻다.그러나 일반 함수 greetFunc()으로 호출될 때 이 inside greet () 는 세계 대상이 아니라 전역 대상 (브라우저에서 이것은 창) 이다.
나는 greetFunc = world.greet이라는 표현식을 명명하여 방법과 그 대상을 분리시켰다.잠시 후 분리하는 방법 greetFunc()을 호출하면 전체 대상과 같다.
객체를 분리하는 방법은 다음과 같습니다.
const myMethodFunc = myObject.myMethod;


setTimeout(myObject.myMethod, 1000);


myButton.addEventListener('click', myObject.myMethod)


<button onClick={myObject.myMethod}>My React Button</button>
방법을 잃는 상하문을 피하기 위해서는 사용법이 세계를 움직일 수 있도록 하세요.greet () 또는 수동으로 이 방법을 대상 greetFunc = world.greet.bind(this)에 귀속시킵니다.

4.2 간접 함수 호출


앞에서 말한 바와 같이 일반 함수 호출은 그것을 전역 대상으로 해석한다.일반 함수에 맞춤형 값을 만들 수 있는 방법이 있습니까?
다음 방법을 사용하여 간접 함수 호출을 시작합니다.
myFunc.call(thisArg, arg1, arg2, ..., argN);
myFunc.apply(thisArg, [arg1, arg2, ..., argN]);
함수 대상에서 사용할 수 있는 방법.myFunc.call(thisArg)myFunc.apply(thisArg)의 첫 번째 매개 변수는 간접적으로 호출된 상하문(그 값)이다.다시 말하면 함수의 값을 수동으로 표시할 수 있습니다.
예를 들어 greet()을 일반 함수와 who 속성을 가진 대상 이형으로 정의합니다.
function greet() {
  return `Hello, ${this.who}!`;
}

const aliens = {
  who: 'Aliens'
};

greet.call(aliens); 
greet.apply(aliens); 
greet.call(aliens)greet.apply(aliens)은 모두 간접적인 방법으로 호출된다.greet() 함수 중의 이 값은 하나의 대상과 같다.
간접 호출은 대상에서 시뮬레이션 방법을 호출할 수 있도록 합니다!

4.3 바인딩 함수 호출


마지막으로 여기는 세 번째 방법으로 함수를 대상으로 하는 방법으로 호출할 수 있다.구체적으로 말하면 function을 특정한 상하문에 귀속시킬 수 있다.
특수 방법을 사용하여 바인딩 함수를 생성할 수 있습니다.
const myBoundFunc = myFunc.bind(thisArg, arg1, arg2, ..., argN);
myFunc.bind(thisArg)의 첫 번째 매개 변수는 함수가 연결된 상하문이다.
예를 들어, greet()을 다시 사용하고 aliens 컨텍스트에 바인딩합니다.
function greet() {
  return `Hello, ${this.who}!`;
}

const aliens = {
  who: 'Aliens'
};

const greetAliens = greet.bind(aliens);

greetAliens(); 
Calling greet.bind(aliens)에서 새 함수를 만듭니다. 이 함수는 대상에 귀속됩니다.
잠시 후 귀속함수 greetAliens()을 호출하면 이 함수 중의 외계인과 같다.
마찬가지로 귀속 함수를 사용하면 시뮬레이션 방법으로 호출할 수 있다.

5. 화살표가 방법의 역할을 한다


다음과 같은 이유로 화살표 함수를 사용하는 것을 권장하지 않습니다.greet() 메서드를 화살표 함수로 정의합니다.
const world = {
  who: 'World',

  greet: () => {
    return `Hello, ${this.who}!`;
  }
};

world.greet(); 
불행하게도 world.greet()은 예상한 'Hello, undefined!'이 아닌 'Hello, World!'으로 돌아왔다.
문제는 화살표 함수 내부의 값이 외부 범위의 값과 같다는 것이다.자꾸 이래요.하지만 너희가 원하는 것은 세계 물체와 같다.
이것이 바로 arrow 함수의 내부가 브라우저의 전역 대상인 창과 같은 이유입니다.'Hello, ${this.who}!'의 계산 결과는 헬로, ${windows.who}!, 마지막으로 'Hello, undefined!'이었다.
나는 화살표 기능을 좋아한다.하지만 효과적인 방법은 아니다.

6. 요약


이 방법은 대상에 속하는 함수다.방법의 상하문(this값)은 이 방법이 속한 대상과 같다.
클래스에서 방법을 정의할 수도 있다.this류의 방법은 내부가 실례와 같다.
JavaScript의 특징은 한 가지 방법만으로는 충분하지 않다는 것입니다.사용 방법을 사용해야 합니다.일반적으로 메서드는 다음 구문을 사용합니다.
myObject.myMethod('Arg 1', 'Arg 2');
흥미로운 것은 JavaScript에서 대상에 속하지 않는 일반 함수를 정의한 다음 이 함수를 Arbirr 대상의 방법으로 호출할 수 있다는 것이다.간접 함수를 사용하여 함수를 호출하거나 특정 컨텍스트에 바인딩할 수 있습니다.
myRegularFunc.call(myObject, 'Arg 1', 'Arg 2');
myRegularFunc.apply(myObject, 'Arg 1', 'Arg 2');


const myBoundFunc = myRegularFunc.bind(myObject);
myBoundFunc('Arg 1', 'Arg 2');
간접 호출과 경계 시뮬레이션 방법 호출.
놓치지 마세요.
1. TestDriven.io: Django and Pydantic
2. Python Pool: NumPy Cross Product in Python with Examples

좋은 웹페이지 즐겨찾기