<script> <br>기능 맛있음(o){ <br>var out = '<ul>'; <br>for(var i=0;i<o.length;i ){ <BR>out = '<li><a href="' o [i].u '">' <br>o[i].d '</a></li>'; <br>} <br>out = '</ul>'; <br>document.getElementById('delicious').innerHTML = out; <br>} <br></script>
여기에서 Delicious의 웹 서비스를 호출하여 최신 북마크를 가져오고 JSON으로 반환합니다. 형식을 지정한 다음 순서가 지정되지 않은 목록으로 표시합니다.
기본적으로 JSON은 복잡한 데이터를 설명하는 가장 간단한 방법이며 브라우저에서 직접 실행됩니다. PHP에서 json_decode() 함수를 호출하여 사용할 수도 있습니다.
3. JavaScript 기본 함수를 사용해 보세요.
숫자 집합에서 최대 숫자를 찾으려면 다음과 같은 루프를 작성할 수 있습니다.
var 숫자 = [3,342,23,22,124 ];
var max = 0;
for(var i=0;iif(numbers[i] > max){
max = 숫자[ i];
}
}
alert(max);
실제로 동일한 기능을 반복 없이 수행할 수 있습니다.
var 숫자 = [3,342 ,23,22,124];
numbers.sort(function(a,b){return b - a});
alert(numbers[0]);
가장 간결하게 작성하는 방법은 다음과 같습니다.
Math.max(12,123,3,2,433,4) // return 433
Math.max를 사용하여 브라우저에서 지원되는 속성을 확인할 수도 있습니다.
var scrollTop= Math.max(
doc.documentElement.scrollTop,
doc.body.scrollTop
)
요소에 클래스 스타일을 추가하려면 원문은 다음과 같습니다.
< SPAN style="FONT-FAMILY: verdana, geneva">function addclass(elm,newclass){
var c = elm.className;
elm.className = (c === '') ? c ' ' newclass;
while 더 우아한 작성 방법은 다음과 같습니다.
function addclass(elm,newclass) {
var 클래스 = elm.className.split(' ');
classes.push(newclass)
elm.className =classes.join(' ')}
< ;/SPAN>
4. 이벤트 위임
이벤트는 JavaScript에서 매우 중요한 부분입니다. 클릭 이벤트를 목록의 링크에 바인딩하려고 합니다. 일반적인 접근 방식은 루프를 작성하고 각 링크 개체에 이벤트를 바인딩하는 것입니다.
코드 복사 코드는 다음과 같습니다.
脚本如下:
// 클래식 이벤트 처리 예
(function(){
var resources = document.getElementById('resources');
varlinks = resources.getElementsByTagName('a');
var all = link.length;
for(var i=0;i// 각 링크에 리스너 연결
links[i].addEventListener('click',handler,false);
function handler(e){
var x = e.target; 🎜>경고(x);
e.preventDefault()
})();
합리적 거래법是只给列表적父对象绑결정사유:
var resources = document.getElementById('resources') ; resources.addEventListener('click',handler,false);
function handler(e){
var x = e.target; // 링크 가져오기
if(x.nodeName .toLowerCase() === 'a'){
alert('이벤트 위임:' x);
e.preventDefault();
}
})() ;
5. 匿name函数
关于JavaScript의 最头疼的事情之一是,它的变weight没有特围范围.性,这意味着가 같은 것입니다其他脚本可以访问并覆盖它们 .局函数:
复aze代码
代码如下: var name = 'Chris'; var age = '34'; var 상태 = '단일'; function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
스팬>
封装后如下:
复主代码
代码如下: var myApplication = function(){ var name = 'Chris'; var age = '34'; var 상태 = '단일';
return{
createMember:function(){
// [...]
},
getMemberDetails:function(){
// [...]
}
}
}();
// myApplication.createMember() 및
// myApplication.getMemberDetails()가 이제 작동합니다.
这被称为单体模式,是JavaScript设计模式的一种,这种模式在YUI中用得不常多,改进的写法是:
复主代码
代码如下: var myApplication = function( ){ var name = '크리스'; var age = '34'; var 상태 = '단일';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
return{
create:createMember,
get:getMemberDetails
}
}();
//myApplication.get() 및 myApplication.create()가 이제 작동합니다.
6. 코드 구성 가능성
당신이 작성한 코드를 다른 사람이 더 쉽게 사용하거나 수정할 수 있도록 하려면, 당신이 작성한 스크립트에 구성 개체를 추가하는 것이 해결책입니다. 핵심 사항은 다음과 같습니다.
1. 스크립트에 구성이라는 개체를 추가합니다.
2. CSS ID, 클래스 이름, 언어 등 다른 사람이 변경하고 싶어할 수 있는 모든 항목을 구성 개체에 저장합니다.
3. 다른 사람이 재정의할 수 있도록 이 객체를 공용 속성으로 반환합니다.
7. 코드 호환성
호환성은 초보자가 간과하기 쉬운 부분입니다. 보통 Javascript를 배울 때 고정된 브라우저에서 테스트하는데, 이 브라우저는 IE 중에서 매우 치명적입니다. 현재의 주요 브라우저 중 IE는 표준에 대한 지원이 최악입니다. 최종 사용자가 보는 결과는 작성한 코드가 특정 브라우저에서 올바르게 실행되지 않을 수 있다는 것입니다. 모든 주요 브라우저에서 코드를 테스트해야 합니다. 이 작업은 시간이 많이 걸릴 수 있지만 완료되어야 합니다.