이 함수는 처음 호출된 후 자체적으로 다시 작성되므로 호출될 때마다 불필요한 작업 반복을 방지합니다. 이것을 구체적으로 이해하는 방법은 무엇입니까? 함수를 다시 작성하기 전과 후의 함수 실행 스레드가 동일하지 않나요?
예를 들어, 브라우저마다 API 이름이 다르며, 통합 인터페이스를 캡슐화하려는 경우 코드는 다음과 같습니다
추가 변수나 if-else를 사용하지 않고 부울 상태를 구별합니다. 예를 들어 일부 동작은 초기화된 상황과 초기화되지 않은 상황에서 서로 다른 논리를 가지므로 다음과 같이 작성할 수 있습니다.
여기서 나쁜 점은 전역 변수가 도입되면 이 변수가 다음과 같이 작성될 수 있는 내부 상태로 캡슐화될 수 있다는 것입니다. 으아악
으아악
다음 세 가지 글쓰기 방법을 느껴보세요.
위의 브라우저 API 예제는 일반적으로 코드 성능을 최적화하기 위해 불필요한 작업을 피하는 것에 관한 것입니다.
간단히 말하면
함수를 처음 실행하면 경보('A')가 실행되고, 두 번째 실행되면 경보('B')가 실행됩니다.
추가 작업을 수행하는 것만큼 불필요한 작업을 반복하지 않는 것이 아닙니다. 처음 실행되면 A 작업을 수행하고 나중에 실행하면 B 작업을 수행합니다.
예를 들어, 브라우저마다 API 이름이 다르며, 통합 인터페이스를 캡슐화하려는 경우 코드는 다음과 같습니다
으아악추가 변수나 if-else를 사용하지 않고 부울 상태를 구별합니다.
으아악예를 들어 일부 동작은 초기화된 상황과 초기화되지 않은 상황에서 서로 다른 논리를 가지므로 다음과 같이 작성할 수 있습니다.
여기서 나쁜 점은 전역 변수가 도입되면 이 변수가 다음과 같이 작성될 수 있는 내부 상태로 캡슐화될 수 있다는 것입니다. 으아악
질문자가 언급한 방법을 사용하는 경우:으아악
게다가 이런 글쓰기 방식은 매우 기능적이라는 느낌이 듭니다. (저는 기능적 표현에 대해 잘 알지 못해서 감히 절대적이라고는 할 수 없습니다.) 여기에 프로그래밍 패러다임의 문제가 있습니다.다음 세 가지 글쓰기 방법을 느껴보세요.
프로세스 중심:으아악
객체 지향:으아악
기능적 표현:으아악
함수적 방법에는 많은 장점이 있습니다. 이를 위해서는 함수형 프로그래밍을 이해해야 합니다.위의 브라우저 API 예제는 일반적으로 코드 성능을 최적화하기 위해 불필요한 작업을 피하는 것에 관한 것입니다.
으아악간단히 말하면
함수를 처음 실행하면 경보('A')가 실행되고, 두 번째 실행되면 경보('B')가 실행됩니다.
추가 작업을 수행하는 것만큼 불필요한 작업을 반복하지 않는 것이 아닙니다. 처음 실행되면 A 작업을 수행하고 나중에 실행하면 B 작업을 수행합니다.