jQuery와 Prototype이 겪는 문제를 통합합니다.
2353 단어 prototype
1. $기호 충돌 문제
이것은 그래도 해결하기 쉽다.
jQuery.noConflict()
모든 $기호를 jQuery로 바꾸지 않으려면, 즉시 함수로 원래의 jQuery 코드를 패키지할 수 있습니다.
(function($){
})(jQuery);
jQuery(document).ready(function($){
});
jQuery(function($){
});
2. for in 그룹 순환 문제
for in 문장 자체는 "bad practice"가 아니지만, 예를 들어 수조에 사용하기 쉽다.
for in 문을 사용하려면 먼저 100% 확신할 수 없으면hasOwnProperty를 사용하십시오.
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
// prop is not inherited
}
}
그 다음에 for in을 사용하여 그룹이나 클래스 그룹의 대상(array-like)을 대조하지 마십시오.Prototype은 자동으로 모든 그룹에 추이 속성을 추가하기 때문에 위hasOwnProperty를 사용해도 필터할 수 없습니다.하지만 다음과 같은 방법으로
for (var prop in obj) {
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
// prop is not inherited
}
}
3. IE 탄창 질문 "Stop running this script"
이것은 매우 이상한 문제다.원래 프레임은 IE에 문제가 없지만 Prototype을 가져온 후 IE 탄창을 가져옵니다
Stop running this script?
A script on this page is causing your web browser to run slowly. If it continues to run, your computer might become unresponsive.
이 문제에 대해 전혀 갈피를 잡을 수 없어 도입 파일을 삭제함으로써 마침내 원흉인 2만여 줄의 파일을 찾았다.처음에는 그 안의 어떤 문장이 이 문제를 야기한 줄 알았지만 그렇지 않았다.파일을 두 개의 파일로 나누면 이 탄창이 나타나지 않습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기능 재검토(프로토타입 아님) 🤥빠른 수정을 위한 몇 가지 참고 사항 사용자 지정 속성이 있는 함수 이것은 대부분의 경우 런타임 바인딩이므로 someKey는 aFunction 또는 aFunction.prototype의 속성이 아닙니다. 접두사 cu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.