짧은 질문 :JavaScript의 변수 범위
jQuery가 포함되어 있다고 가정 해 봅시다. 이 기능은 다음과 같은 하나보다 ... 빨리
var example1 = (function($, jQuery) {
return function() {
// do something
}
})()
를 실행합니다 :
var example2 = (function() {
return function() {
// do something
}
})()
를?
jQuery 객체는 undefined
이고 두 번째 객체는 상속됩니다. 그래서 두 번째 것은 더 비싸야합니다.
속도를 향상시키고 성능을 저하시키는 상속 된 변수를 제거하는 가장 좋은 방법은 무엇입니까?
jsPerf 시험 : http://jsperf.com/objinheritance
이 질문에 대한 답변을 수 있습니다 : http://stackoverflow.com/questions/9248963/javascript-why-the-access-to-closure-variable-might-be-slow –
두 번째에서는 상속되지 않습니다. , 그럴거야? 그것은 단지 세계화 될 것입니다. 첫 번째 것과 같습니다. 로컬에 액세스하면 여전히 $. window 및 $ window.jQuery 창이 있습니다. –
인용구 : "조숙 한 최적화는 모든 악의 뿌리입니다." JS에서 스코프에 대해 자세히 배우십시오. 그러나 최적화를 위해 최적화하지 마십시오. 이 특정 문제는 코드 조각이 수천 번 (한 번에) 실행될 때만 관련이 있습니다. google에 키워드 : "범위 사슬". 컴퓨터 (CPU) 시간은 개발자 시간보다 훨씬 저렴합니다 !!! –