javascript - js 함수와 관련된 몇 가지 사소한 문제 해결
为情所困
为情所困 2017-05-19 10:26:59
0
5
535

js의 함수 이름은 함수 객체에 대한 포인터이므로 메모리를 가리키는 건가요?
`

으아악

` , 그렇다면 수동 파기 방법은 무엇입니까? 브라우저를 재활용하기 전에 전역 변수를 닫아야 합니까? 해결해 주셔서 감사합니다

为情所困
为情所困

모든 응답(5)
迷茫

먼저, var a스택에서 공백을 연 다음 참조 유형인 함수에 할당합니다. 그래서 함수를 저장하기 위해 에 또 다른 공간을 신청했습니다. 이때 스택에 있는 a함수 주소var a会在stack里面开一块空间,然后你将他赋给一个function,是一个引用类型,于是又在heap里面又申请一块空间存放function,此时,stack里面的a存放的是function的地址

而下面,将b赋值给a,是将stack里面a指向的heap里面function的地址赋给b,所以这就是为什么后来a指向了null,但是b仍然指向之前heap里面function的原因。

如何销毁?将b也设置为null

그리고 아래에서는 스택에서 a가 가리키는 ab를 할당합니다. code> >heap에 있는 function의 주소는 b에 할당되므로 나중에 a를 가리키는 이유가 됩니다. null이지만 b는 여전히 함수가 이전 에 있었던 이유를 가리킵니다. #🎜🎜# #🎜🎜#파괴하는 방법? bnull 또는 다른 값으로 설정하면 됩니다. 따라서 이런 종류의 변수에는 전역 변수를 작성하지 말고 지역 변수를 작성하십시오. #🎜🎜#
滿天的星座

메모리에 대한 참조인가요? 이 질문은 좀 너무 광범위합니다. 데이터는 메모리에 저장되므로 메모리를 참조하는 것이 당연합니다.
하지만 메모리를 참조하는 것만큼 간단하지는 않습니다. 메모리는 데이터를 저장하는 역할만 담당하며, 데이터 간의 관계는 반영되지 않으므로 직접메모리 참조
중간에 숨겨진 처리가 있습니다. 기본적인 작동 이론은 있지만 사실 구체적인 내용을 아는 사람은 거의 없습니다. 맨 밑바닥

또한 재활용 방법에는 두 가지가 있습니다.

으아악 으아악

일반적으로 방법 1을 사용하세요. 데이터가 일정량에 도달하는 경우 등 타이밍 등 자동 재활용이 발생하는 원인은 많습니다

伊谢尔伦

으아악

漂亮男人

js는 삭제를 사용하여 변수를 수동으로 재활용할 수 있습니다

黄舟

가비지 수집 메커니즘 정보:
이전 버전의 IE에서는 DOM이 COM 개체 형식이며 참조 계산을 사용하여 지워집니다. 순환 참조가 있으면 메모리를 해제할 기회가 없습니다.
표준 브라우저에서는 메모리를 해제하려면 참조를 수동으로 해제하고 null로 설정하기만 하면 됩니다.

참조를 역참조하지 않으면 실행 환경이 종료될 때까지 메모리가 해제되지 않고 전역 변수 개체도 전역 실행 환경이 종료될 때까지 해제되지 않습니다. 즉, 브라우저가 닫힐 때까지 해제되지 않습니다. .

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿