찾다
웹 프론트엔드HTML 튜토리얼Xiaoqiang의 HTML5 모바일 개발 로드(26) - JavaScript 검토 1

오랫동안 JavaScript를 사용하지 않아서 조금 낯설게 느껴집니다. 최근 HTML5 모바일 개발에 대한 정보를 읽다가 어제도 오늘도 JavaScript가 매우 중요하다는 직감이 들었고 앞으로도 그럴 것입니다. 내일은 더욱 중요합니다. 요즘에는 많은 JavaScript 기반 프레임워크가 우리 개발에 큰 편리함을 가져다 주었지만 이러한 도구를 더 잘 사용하려면 JavaScript에 대한 더 높은 이해를 갖고 이전 노트를 열고 검토를 시작해야 합니다.

1. JavaScript의 역할

1. 데이터 검증

2. 웹페이지의 동작(웹페이지의 동적 효과)

3. window

4. Ajax 기술의 핵심 중 하나

2. JavaScript의 구성

ECMAScript는 데이터 유형, 키워드, 예약어, 연산자, 객체 및 명령문 등과 같은 JavaScript 스크립트의 핵심 구문은 어떤 브라우저에도 속하지 않습니다.

ECMAScript 표준은 JavaScript 스크립트의 "골격"인 JavaScript 스크립트의 핵심 콘텐츠를 정의합니다. "골격"을 사용하면 DOM(Document Object Model) 및 BOM(Browser Object Model)과 같이 확장할 수 있습니다. 모델).


역사: 1995년 12월 Sun Microsystems와 Netscape Communications Corporation은 JavaScript를 도입했습니다. 1996년 3월 Netscape Communications는 JavaScript를 지원하는 Netscape Navigator 2.0을 출시했습니다. 웹 페이지용 클라이언트측 스크립팅 언어로서 JavaScript의 성공으로 인해 Microsoft는 1996년 8월 Internet Explorer 3.0을 출시했습니다. 이 소프트웨어는 JavaScript와 호환되는 JScript "about"을 지원합니다.

1996년 11월 Netscape Communications는 표준화를 위해 유럽 컴퓨터 제조업체 협회에 JavaScript를 제출했습니다. ECMA-262의 첫 번째 버전은 1997년 6월 Ecma 조직에 의해 채택되었습니다.

ECMAScript는 ECMA-262에 의해 표준화된 스크립트 언어의 이름입니다. JavaScript 및 JScript는 ECMAScript와 호환되지만 ECMAScript 이상의 기능을 포함합니다.

2. DOM

DOM은 "Document Object Model"의 약자로 "Document Object Model"이라고도 하며 W3C에서 표준화한 것입니다.

DOM은 HTML 문서를 작동하기 위한 JavaScript용 인터페이스를 정의하여 HTML 문서(예: 본문, 양식, div, 텍스트 영역 등)에 액세스하는 방법과 작업 방법을 제공합니다.


Xiaoqiang의 HTML5 모바일 개발 로드(26) - JavaScript 검토 13. HTML DOM

w3c dom은 표준이고 비교적 늦게 등장했습니다.

html dom은 표준이 아니고(각 브라우저마다 다름) 더 일찍 나타났습니다. dom은 아직 나타나지 않았습니다(dom 0)
많은 브라우저도 일부 개체를 지원합니다
Select
Option
Table
TableRow
TableCell

BOM

BOM은 "Browser Object Model"의 약자로 "Browser Object Model"이라고도 합니다.

BOM은 브라우저를 작동하기 위한 JavaScript용 인터페이스를 정의하여 특정 기능(예: 브라우저 창 크기, 버전 정보, 검색 기록 등)에 액세스하는 방법과 작동 방법을 제공합니다.

안타깝게도 BOM은 관련 표준이 없는 ECMAScript의 확장일 뿐입니다. W3C에서는 이 부분을 표준화하지 않았습니다. 각 브라우저 제조업체에는 BOM의 약점이라고 할 수 있는 자체 BOM 구현이 있습니다.
일반적으로 브라우저별(예: W3C 표준이 아닌) JavaScript 확장은 주로 다음을 포함하여 BOM의 일부로 간주됩니다.

    닫기, 모바일 브라우저 및 브라우저 창 크기 조정
  • 새 브라우저 창을 띄웁니다.
  • 브라우저 세부정보를 제공하는 위치 개체입니다. 브라우저 창에 로드된 문서에 대한 세부 정보를 제공하는 앵커 개체
  • 쿠키 지원 제공
  • ActiveXObject 클래스를 추가하여 BOM을 확장하고 JavaScript를 통해 ActiveX 개체를 인스턴스화합니다.
  • 3. 자바스크립트 데이터 유형
  • 1. 기본 데이터 유형

    숫자
문자열


부울

null

정의되지 않음

2. 복합 데이터 유형

배열

함수

수학

날짜

숫자

문자열

RegExp

오류

Aguments

객체

4. JavaScript의 이벤트 처리 메커니즘

1. 이벤트 처리 코드 바인딩 방법

(1) HTML에 바인딩 tag

(2) dom 노드에 바인딩

var obj = document.getElementById(id);

obj .onclick = f1; //dom 노드에 바인딩

<html>  
    <!--  绑定事件处理代码   -->  
    <head>  
        <script>    
        <!--这部分代码保存到活动对象里面,script里面执行完还没有生成树-->  
            function f1(){  
                alert(&#39;hello&#39;);  
            }  
        </script>  
    </head>     
    <body style="font-size:30px;">  
        <input id="b1" type="button" value="点我吧"/>  
        <script>  
            var obj = document.getElementById(&#39;b1&#39;);  
            obj.onclick = f1; //绑定到dom节点上  
        //好处:可以将js代码和html代码分开  
        </script>  
    </body>  
</html>

html 코드와 자바스크립트 코드가 별도로 저장됩니다.

function f1(){  
    alert(&#39;hello&#39;);  
}   
//window.onload表示当整个html文档全部解析完毕,  
//也就是说整个dom树已经生成之后,浏览器会产生一个load事件  
window.onload = function(){  
    var obj = document.getElementById(&#39;b1&#39;);  
    obj.onclick = f1;  
};  
//load事件不是用户参与产生的,是浏览器自己产生的  
//下面事件是用于触发的  
//click  blur  mouseover submit change
<html>  
    <!--  绑定事件处理代码   -->  
    <head>  
        <script src="myjs2.js"></script>  
    </head>     
    <body style="font-size:30px;">  
        <input id="b1" type="button" value="点我吧"/>  
    </body>  
</html>

이 바인딩 방법의 장점은 다음과 같습니다. js 코드는 html 코드와 분리될 수 있어 코드 유지관리가 용이합니다
그러나 이 방법의 단점은 매개변수 전달이 불편하고 매개변수 전달을 위해 익명 함수를 사용해야 한다는 것입니다

//如果想传参数可以写一个匿名函数  
  
function f1(info){  
    alert(&#39;hello&#39;+info);  
}   
//window.onload表示当整个html文档全部解析完毕,  
//也就是说整个dom树已经生成之后,浏览器会产生一个load事件  
window.onload = function(){  
    var obj = document.getElementById(&#39;b1&#39;);  
    obj.onclick = function(){  //匿名函数  
        f1(&#39;zs&#39;);  //传参数  
    };  
};  
//load事件不是用户参与产生的,是浏览器自己产生的  
//下面事件是用于触发的  
//click  blur  mouseover submit change

( 3) 각 브라우저 고유의 바인딩 방법
을 사용하는 것은 브라우저 호환성 문제로 인해 아껴서 사용하는 것이 좋습니다

2. 이벤트 객체

(1) 이벤트 객체를 얻는 방법


버튼 클릭---> 이벤트 객체 생성---> 이벤트 소스 찾기
IE: 이벤트를 직접 사용

Firefox: 필요 메소드 매개변수에 이벤트 추가

IE와 동시에 호환되도록 하려면 Firefox에서는 이벤트 매개변수

만 추가하면 됩니다. (2) 이벤트 객체의 역할

clientX,clientY获得鼠标点击的坐标

<html>  
    <head>  
        <script>  
            //只能在IE上运行  
            function f1(){ //输出用户点击时鼠标的坐标  
            //window省略不写  
                alert(event.clientX + &#39; &#39; + event.clientY);  
            }  
            //在firefox上面运行,IE也支持  
            function f2(event){  
                alert(event.clientX + &#39; &#39; + event.clientY);  
            }  
        </script>  
    </head>  
    <body style="font-size:30px;font-style:italic;">  
        <a href="javascript:;" onclick="f1();">only ie not firefox</a><br/><br/>  
        <a href="javascript:;" onclick="f2(event);">ie and firefox</a>  
    </body>  
</html>

找到事件源(产生事件的那个对象)


ie: event.srcElement
firefox: event.target

<html>  
    <head>  
        <script>  
            //只能在火狐上运行  
            function f3(e){  
                //通过事件对象找到事件源  
                var obj = e.target; //obj就是那个链接<a>  
                alert(obj.innerHTML);  
            }  
            //只能在IE上面运行  
            function f4(e){  
                var obj = e.srcElement;  
                alert(obj.innerHTML);  
            }  
            //可以在IE和火狐上面运行  
            function f5(e){  
            //js当中任意数据类型都可以转换成true或者false  
                var obj = e.target || e.srcElement;  
                alert(obj.innerHTML);   
            }  
        </script>  
    </head>  
    <body style="font-size:30px;font-style:italic;">  
        <a href="javascript:;" onclick="f5(event);  
        ">get the first resorce</a><br/><br/>  
        <a href="javascript:;" onclick="f5(event);  
        ">get the second resorce</a>  
    </body>  
</html>

3、事件冒泡


当一个事件产生后,浏览器会在该事件的节点上查找有没有相应的事件处理代码,如果有则浏览器调用相应的事件处理代码来处理,处理完成后,该事件会继续向上抛给父节点继续处理如果没有,也会将事件继续向上抛给父节点继续处理

<html>  
    <head>  
        <script>  
            function clickA(){  
                alert(&#39;你点击了连接&#39;);  
            }  
            function clickDiv(){  
                alert(&#39;你点击了Div&#39;);  
            }  
        </script>  
        <style>  
            #d1{  
                width:200px;  
                height:200px;  
                background-color:red;  
            }  
        </style>  
    </head>  
    <body style="font-size:30px;font-style:italic;">  
        <div id="d1" onclick="clickDiv();">  
            <a href="javascript:;" onclick="clickA();">click5</a>  
        </div>  
    </body>  
</html>

如何取消事件冒泡:event.cancelBubble = true;

<html>  
    <head>  
        <script>  
            function clickA(e){  
                alert(&#39;你点击了连接&#39;);  
                e.cancelBubble = true;  
            }  
            function clickDiv(e){  
                alert(&#39;你点击了Div&#39;);  
            }  
        </script>  
        <style>  
            #d1{  
                width:200px;  
                height:200px;  
                background-color:red;  
            }  
        </style>  
    </head>  
    <body style="font-size:30px;font-style:italic;">  
        <div id="d1" onclick="clickDiv(event);">  
            <a href="javascript:;" onclick="clickA(event);">click5</a>  
        </div>  
    </body>  
</html>

以上就是 小强的HTML5移动开发之路(26)—— JavaScript回顾1的内容,更多相关内容请关注PHP中文网(www.php.cn)!


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?Apr 15, 2025 am 12:13 AM

Htmlisnotaprogramminglanguage; itisamarkuplanguage.1) htmlstructuresandformatswebcontentusingtags.2) itworksporstylingandjavaScriptOfforIncincivity, WebDevelopment 향상.

HTML : 웹 페이지 구조 구축HTML : 웹 페이지 구조 구축Apr 14, 2025 am 12:14 AM

HTML은 웹 페이지 구조를 구축하는 초석입니다. 1. HTML은 컨텐츠 구조와 의미론 및 사용 등을 정의합니다. 태그. 2. SEO 효과를 향상시키기 위해 시맨틱 마커 등을 제공합니다. 3. 태그를 통한 사용자 상호 작용을 실현하려면 형식 검증에주의를 기울이십시오. 4. 자바 스크립트와 결합하여 동적 효과를 달성하기 위해 고급 요소를 사용하십시오. 5. 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함되며 검증 도구가 필요합니다. 6. 최적화 전략에는 HTTP 요청 감소, HTML 압축, 시맨틱 태그 사용 등이 포함됩니다.

텍스트에서 웹 사이트로 : HTML의 힘텍스트에서 웹 사이트로 : HTML의 힘Apr 13, 2025 am 12:07 AM

HTML은 웹 페이지를 작성하는 데 사용되는 언어로, 태그 및 속성을 통해 웹 페이지 구조 및 컨텐츠를 정의합니다. 1) HTML과 같은 태그를 통해 문서 구조를 구성합니다. 2) 브라우저는 HTML을 구문 분석하여 DOM을 빌드하고 웹 페이지를 렌더링합니다. 3) 멀티미디어 기능을 향상시키는 HTML5의 새로운 기능. 4) 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함됩니다. 5) 최적화 제안에는 시맨틱 태그 사용 및 파일 크기 감소가 포함됩니다.

HTML, CSS 및 JavaScript 이해 : 초보자 안내서HTML, CSS 및 JavaScript 이해 : 초보자 안내서Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

HTML의 역할 : 웹 컨텐츠 구조HTML의 역할 : 웹 컨텐츠 구조Apr 11, 2025 am 12:12 AM

HTML의 역할은 태그 및 속성을 통해 웹 페이지의 구조와 내용을 정의하는 것입니다. 1. HTML은 읽기 쉽고 이해하기 쉽게하는 태그를 통해 컨텐츠를 구성합니다. 2. 접근성 및 SEO와 같은 시맨틱 태그 등을 사용하십시오. 3. HTML 코드를 최적화하면 웹 페이지로드 속도 및 사용자 경험이 향상 될 수 있습니다.

HTML 및 코드 : 용어를 자세히 살펴 봅니다HTML 및 코드 : 용어를 자세히 살펴 봅니다Apr 10, 2025 am 09:28 AM

"Code"는 "Code"BroadlyIncludeLugageslikeJavaScriptandPyThonforFunctureS (htMlisAspecificTypeofCodeFocudecturecturingWebContent)

HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구Apr 09, 2025 am 12:12 AM

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

HTML, CSS 및 JavaScript의 역할 : 핵심 책임HTML, CSS 및 JavaScript의 역할 : 핵심 책임Apr 08, 2025 pm 07:05 PM

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는