한 곳에서 모든 것이 가능하다면 관리가 쉽다는 원칙을 사용하여 많은 기능 (많은 코드 행, 많은 조건부 분기 및 하위 분기)을 만듭니다. 큰 기능은 코드의 모듈화 부족과 관심사의 캡슐화 부족에 대한 지표입니다. 스파게티 코드로 연결됩니다. OOP 스파게티 코드의 정확한 용어는 스파게티와 미트볼입니다 :-). –
+0
여기서 함수를 작성하는 것은 아닙니다. 여기에 함수 호출을 넣으십시오. 함수 호출은 보통 한 줄입니까? 또한 프로젝트에 따라 다릅니다. –
matpol
+0
전적으로 함수 코드를 추가하는 것을 의미하지는 않습니다. 그러나 복잡한 프로젝트 나 오랜 시간 동안 유지 관리 프로젝트의 요구 사항은 쌓이는 경향이 있으며 어떤 경우에만 일부 이벤트를 바인드하고 일부 유형의 객체에 대한 매개 변수와 다른 유형의 객체에 대한 일부 매개 변수를 전달해야 할 필요가 있습니다. 당신은 이것을 관리하기 위해'if's를 쓰게되고, 그들은 스파게티로 빨리 변합니다. –
1
당신은 서로 다른 기능을 가진 $(document).ready() 여러 통화를 할 수 있습니다. 당신이 그들을 포함시킨 순간이 이벤트가 발생한 후에 (AJAX를 통해 $.getScript()을 포함하여) 포함되지 않는 한 그들은 모두 그 이벤트에 묶일 것입니다.
코드를 HTML에 직접 포함하면 안됩니다.
하나 이상의 외부 파일에 고정하고 src을 사용하여 참조하십시오.
그런 식으로 쉽게 캐싱 할 수 있으며 사용자는 각 페이지로드시 동일한 콘텐츠를 다시 다운로드하지 않습니다.
다른 용도로 사용하기 위해 다른 준비 파일을 구성 할 수도 있습니다. 하나는 외부 플러그인을 초기화합니다. 하나는 일부 이벤트 바인딩을 실행합니다. 하나는 양식 유효성 검사를 적용합니다.
다른 파일에 저장하면 필요할 때 파일을 포함 할 수 있습니다. onReady.ShoppingCart.js는 상점의 모든 페이지에 필요할 수 있지만 체크 아웃 레인이 아닌 해당 상점의 CMS 페이지에는 필요하지 않을 수 있습니다.
"태그"란 무엇입니까? 처음에 나는 당신이 '
감사드립니다. 코드를보다 쉽게 관리 할 수 있으므로 한 곳에서 호출되는 모든 기능을 볼 수 있습니다.
출처
2012-07-02 11:59:05 matpol
한 곳에서 모든 것이 가능하다면 관리가 쉽다는 원칙을 사용하여 많은 기능 (많은 코드 행, 많은 조건부 분기 및 하위 분기)을 만듭니다. 큰 기능은 코드의 모듈화 부족과 관심사의 캡슐화 부족에 대한 지표입니다. 스파게티 코드로 연결됩니다. OOP 스파게티 코드의 정확한 용어는 스파게티와 미트볼입니다 :-). –
여기서 함수를 작성하는 것은 아닙니다. 여기에 함수 호출을 넣으십시오. 함수 호출은 보통 한 줄입니까? 또한 프로젝트에 따라 다릅니다. – matpol
전적으로 함수 코드를 추가하는 것을 의미하지는 않습니다. 그러나 복잡한 프로젝트 나 오랜 시간 동안 유지 관리 프로젝트의 요구 사항은 쌓이는 경향이 있으며 어떤 경우에만 일부 이벤트를 바인드하고 일부 유형의 객체에 대한 매개 변수와 다른 유형의 객체에 대한 일부 매개 변수를 전달해야 할 필요가 있습니다. 당신은 이것을 관리하기 위해'if's를 쓰게되고, 그들은 스파게티로 빨리 변합니다. –
당신은 서로 다른 기능을 가진
$(document).ready()
여러 통화를 할 수 있습니다. 당신이 그들을 포함시킨 순간이 이벤트가 발생한 후에 (AJAX를 통해$.getScript()
을 포함하여) 포함되지 않는 한 그들은 모두 그 이벤트에 묶일 것입니다.코드를 HTML에 직접 포함하면 안됩니다.
하나 이상의 외부 파일에 고정하고
src
을 사용하여 참조하십시오.그런 식으로 쉽게 캐싱 할 수 있으며 사용자는 각 페이지로드시 동일한 콘텐츠를 다시 다운로드하지 않습니다.
다른 용도로 사용하기 위해 다른 준비 파일을 구성 할 수도 있습니다. 하나는 외부 플러그인을 초기화합니다. 하나는 일부 이벤트 바인딩을 실행합니다. 하나는 양식 유효성 검사를 적용합니다.
다른 파일에 저장하면 필요할 때 파일을 포함 할 수 있습니다. onReady.ShoppingCart.js는 상점의 모든 페이지에 필요할 수 있지만 체크 아웃 레인이 아닌 해당 상점의 CMS 페이지에는 필요하지 않을 수 있습니다.
출처
2012-07-02 12:04:30
답장을 보내 주셔서 감사합니다 .v 이미 포함 된 함수를 초기화하면 어떻게됩니까? 스크립트 : . 이 스크립트는 html 안에 포함시켜야합니까? –
ready()
(인라인onload=""
과 비교)의 목적은 하나의 이벤트에 대해 여러 핸들러의 바인딩을 허용하는 것입니다.그래서 가장 단순한/분명하게 사용하십시오. 인터넷이 인라인 핸들러의 사용을 없애기 위해 너무 많이 싸웠을 때 여러 번 바인딩하는 것은 어리석은 행동입니다.
출처
2012-07-02 12:06:28 BiAiB
감사, 좋은 지적 –