찾다
웹 프론트엔드JS 튜토리얼자바스크립트의 핵심을 가장 체계적으로 정리한 책(기본 언어 구문 제외)

1. 변수
1. 배열을 정의하려면 새 배열("1", "2")을 사용할 수 있습니다.
2. 다음과 같이 null을 할당하여 변수를 지울 수 있습니다.

//首先定义一个变量
var i1=10;
i1=null;
//此时的i1就被清除了

함수에서 이와 같은 변수를 정의할 때는 주의하세요

funtion demo(){
     x=10;
}
//而此前的代码中都没有出现x,那么这里就是定义了x,在调用demo函数以后,x就是一个全局变量了。

2. 연산자 == 및 ===

var i="5";
var j=5;
if(i==j) alert(""hello);
if(i===j) alert("world");

//위 코드만 i와 j의 값은 동일하지만 i와 j의 데이터 유형이 동일하지 않기 때문에 실행 후 hello가 팝업됩니다. 따라서 ==에는 동일한 값만 필요하지만 ===에는 동일한 값이 필요할 뿐만 아니라 동일한 데이터 유형도 필요합니다.

셋, 예외 캡쳐

try{
     if() throw "";
}catch(err){
     alert(throw);
}

넷, 이벤트
onload 웹 페이지 로딩 이벤트
onclick 클릭 이벤트
onfocus 커서 수집 이벤트
onselect 텍스트 상자 선택 이벤트
onmouseover 마우스 통과 이벤트
onmouserout 마우스 아웃 이벤트

five, dom 연산
1, 소개: 웹 페이지가 로드되면 브라우저는 페이지의 문서 객체 모델을 생성합니다.

2. DOM 작업 HTML
1) js는 페이지의 모든 HTML 요소를 변경할 수 있습니다.
①출력 스트림 변경: document.write()는 문서의 모든 내용을 덮어씁니다. 주의해서 사용하세요!
②요소 가져오기: document.getElementById();
document.getElementByTagName() 등

그 중에서 여러 요소를 가져올 수 있는 이 메소드는 다음과 같은 배열이 됩니다. 객체, 순서대로 정렬

document.getElementById("btn").addEventListener("click",function(){
  var x=document.getElementsByName("people");
  var y=x[2].value;
  alert(y);
  });

③Html 내용 변경: innerHTML;

4속성 내용 변경: 객체를 얻은 후 속성 = "속성 값"이면 setAttribute() 메서드를 사용할 수도 있습니다. 첫 번째 매개 변수는 속성 이름입니다. , 두 번째 매개변수는 속성 값입니다
document.getElementById("pid").setAttribute("class","pid2");

속성 값을 얻는 방법은 getAttribute()를 사용하는 것입니다.

alert(document.getElementById("name").getAttribute("name"));

dom 컨트롤 html 메소드 중 일부:

          1,设置属性:如var attr=document.getElementById("demo1");
                              attr.setAttribute("title","dhello");//设置属性
                              var st=attr.getAttribute("title");//得到属性

                              alert(st);


          2.得到子节点:
                         var child=document.getElementsByTagName("ul")[1].childNodes;
                         alert(child.length);


          3得到父节点: var parent=document.getElementsByTagName("li")[0].parentNode;
                          alert(parent.nodeName);

          4创建元素节点:   var body=document.body;
                         var inp=document.createElement("input");//创建一个input节点
                         inp.type="button";//节点类型
                         inp.value="ann";
                         body.appendChild(inp);//把新的子节点添加到指定节点。(添加到末尾 )

          5创建文本节点


          6删除子节点:<p id="p1">
                         <p id="p1">这是一个段落。</p>
                         <p id="p2">这是另一个段落。</p>
                         </p>

                         var parent=document.getElementById("p1");//找到 id="p1" 的元素:

                         var child=document.getElementById("p1");//找到 id="p1" 的 <p> 元素:

                         parent.removeChild(child);//从父元素中删除子元素:


                         第二种方法:var child=document.getElementById("p1");
                                       child.parentNode.removeChild(child);


          7动态添加节点(课选择添加的位置)
                                       var p=document.getElementById("p");
                                       var node=document.getElementById("pid");
                                       var newnode=document.creatElement("p");
                                       p.inserBefore(newnode,node);
                                                      要添加的 在这之前的

2) js는 페이지의 모든 HTML 속성을 변경할 수 있습니다




 <title>hello world</title>


 <a id="aid"/>
 <p id=pid>hello world!!</p>
< ;script>

 document.getElementById("aid").href="www.baidu.com";//改变属性值



3) js는 페이지의 모든 CSS 스타일을 변경할 수 있습니다

document.getElementById("pid") .style.backgrouneColor ="red";

4) js는 페이지의 모든 이벤트에 반응할 수 있습니다

5) DOM 개체는 HTML을 제어합니다

6. 이벤트 핸들 EventListener

이벤트 핸들은 이벤트를 트리거하는 작업입니다. 예를 들어 onclick은 클릭할 때의 핸들입니다.
이벤트 핸들러를 js에 추가하면 많은 코드를 줄일 수 있습니다.
예를 들어 다음은 전통적인 이벤트 트리거 방법입니다

추가 기능 js 코드 이벤트 핸들은 다음과 같습니다. 처리 함수는 () 대괄호를 추가할 수 없습니다!
var x=document.getElementById("btn");
x.addEventListener("click",demo);//여기에는 두 개의 매개변수가 있습니다. 하나는 이벤트 핸들이고 후자는 이벤트를 처리하는 함수입니다. event

Delete Handle RemoveEventListener() 사용

Seven, event

1. 이벤트 흐름: 페이지에서 이벤트가 수락되는 순서는 이벤트 버블링(내부에서 외부로)과 이벤트 캡처( 외부에서 내부로).

2. 이벤트 처리:

1) HTML 이벤트 처리: HTML 구조에 직접 추가

<button onclick="demo()"><button>

2) dom 레벨 0 이벤트 처리: 이벤트 핸들러 속성에 함수 지정

<button id="btn"></button>
<script>
var btn1=document.getElementById("btn");
btn1.onclick= function () {
    document.getElementById("pid").style.backgroundColor="red";
};     
</script>

//레벨 0 이벤트 처리 이벤트 지우기 처리는 onclick을 비우도록 할당하는 것만 큼 간단합니다. 설정시 객체가 아닌 객체의 시간이 null로 설정됩니다!

btn1.onclick=null;

//동일한 이벤트에 여러 핸들러가 있는 경우 이전 핸들러는 이후 이벤트 핸들러에 의해 지워집니다.

btn1.onclick= function () {
    document.getElementById("pid").style.backgroundColor="red";//被覆盖
};
btn1.onclick= function () {
    document.getElementById("pid").style.backgroundColor="blue";
};

3) dom 레벨 2 이벤트 처리:

 addEventListener("事件名",“事件处理函数”,“true/false”);

true: 이벤트 캡처

false: 이벤트 버블링
이벤트 처리를 지우려면 RemoveEventListener()를 사용하세요.

//dom 2 레벨 이벤트 핸들러는 덮어쓰지 않지만 덮어쓰이게 됩니다. 단계별로 분석하고 실행해야 합니다.

4) IE 이벤트 핸들러. (IE8 이하 버전에서 사용되며, addEventListener 사용과 유사합니다.)

이벤트 추가attachEvent

이벤트 detachEvent삭제

5) 브라우저 버전에 따라 다른 코드를 작성할 수 있습니다

if(btn.addEventListener){

     btn.addEventListener();
}
else{

     btn.attachEventListener()
}

3. 객체: DOM 이벤트가 트리거되면 객체가 생성됩니다.

이벤트 개체의 속성:

1) 유형: 이벤트 유형 가져오기

document.getElementById("btn").addEventListener("click",showType);
function showType(e){
     alert(e.type);
}

2) 대상: 이벤트 가져오기 대상: 이벤트가 트리거되는 위치, 즉 이 이벤트의 개체가 html 요소의 어떤 요소인지 .

document.getElementById("btn").addEventListener("click",showTarget);
function showTarget(e){
     alert(e.target);
}

3) stopPropagation(): 이벤트 버블링 방지: 가장 안쪽 요소의 이벤트가 발생하지만, 이 이벤트가 발생한 후에는 이 요소가 포함된 상위 요소의 이벤트도 발생합니다! 따라서 때때로 우리는 이런 일이 발생하는 것을 원하지 않으며, 이는 이벤트 버블링이 발생하는 것을 방지합니다.

event.stopPropagation();

4) PreventDefault(): 이벤트 기본 동작 방지

event.preventDefault();

//dom 0级事件处理
//  var btn1=document.getElementById("btn");
//  btn1.onclick= function () {
//      document.getElementById("pid").style.backgroundColor="red";
//  };
//
//   btn1.onclick=null;
////dom 2级事件处理,处理函数不能加()括号符!
//

//var btn=document.getElementById("btn");
//btn.addEventListener("click",demo1);
//
//function demo1(){
//
//// alert("dom 2级事件处理!");
//
//   document.getElementById("pid").innerHTML="dom 2级事件处理!";
//}

//事件对象

//1.获取事件对象的类型

//document.getElementById("btn").addEventListener("click",showType);
//function showType(e){
//   alert(e.type);
//}

//2.获取事件对象的目标

//document.getElementById("btn").addEventListener("click",showTarget);
//function showTarget(e){
//   alert(e.target);
//}

八,内置对象
1.什么是对象:js中所有事物都是对象,例如字符串,数组,时间,数值,函数等,每个对象都会带有属性和方法;
2.创建对象:
1)使用new object创建
people=new objet();
people.name="krys";
people.age=20;
2)直接创建:
people={name:"krys",age:20,addres:"guangdong"};
3)使用函数创建

funtion people(name,age){
     this.name=name;this.age=age};
son=new people("jess",20);//然后创建一个对象

document.getElementById("btn").addEventListener("click",creat);
function people(name,age){
          this.name=name;
          this.age=age;
     }
 function creat(){
          var name1= document.getElementById("name").value;
          var age1=document.getElementById("age").value;
          son=new people(name1,age1);
          alert(son.name);
          alert(son.age);
          }

3.字符串对象:String:字符串可以使用双引号也可以使用单引号!

属性:length:str.length可得到字符串的长度、
 indexOf(),在字符串中查找字符串,并返回字符串所在的位置。

document.getElementById("btn").addEventListener("click",creat);
     function creat(){
          var name= document.getElementById("name").value;
          if(name.match("krys")){

              alert("r所在的位置是"+name.indexOf("r"));
          }else{
              alert("sorry~you didnt have rights!")
          }

          }

match(),在字符串中匹配字符串,如果字符串1在字符串中存在,则将字符串1打印出来,如果没有就返回NULL

document.getElementById("btn").addEventListener("click",creat);
     function creat(){
          var name= document.getElementById("name").value;
          if(name.match("krys")){
              alert(name);
          }else{
              alert("sorry~you didnt have rights!")
          }

          }

replace(a,b) a是要替换掉的原来的字符或字符串,b是新的字符或字符串

document.getElementById("btn").addEventListener("click",creat);
     function creat(){
          var name= document.getElementById("name").value;
          if(name.match("krys")){

              alert(name.replace("krys","krys小仙女"));
          }else{
              alert("sorry~you didnt have rights!")
          }

          }

toUpperCase()转换成大写
 toLowerCase()转换成小写
 split()分隔线,将一个字符串分隔成若干部分,如str="hello,world,welcome,to";var s=str.split(","); s[0]="hello";

4.Date对象
1)创建Date对象:
var date=new Date();
alert(date);
var h=date.getHours();//时
var m=date.getMinutes();//分
var s=date.getSeconds();//秒

2)获取具体年份:getFullYear();
3)获取毫秒数:getTime();
4)设置具体的日期:setFullYear();
5)获取星期:getDay();

6)设置每秒更新一次
setTimeout(function(){

 showTime();},1000);

//每秒调用一次showTime函数

5.数组对象:
1)数组的创建:var a=["1","krys","ok"];
 var a=new Array(); a[0]="hell0"; a[1]="world";
 var a=new Array("hello","world","welcome");
 2)数组常用的方法:
 concat()合并数组如 a=["krys"];b=["tal"];a.concat(b)=krystal;
 sort()排序数组 var a=["a","c","b"];a.sort();->a b c (默认从低到高排序)
 设置为降序:a.sort(funtion(a,b){return a-b;})
 push()在数组末尾添加一个元素var a=["a","c","b"]; a.push("d");
 reverse()翻转,对称中心点相互交换:a.reverse()= c b a ;

6.math对象
 1)常用函数
 round()四舍五入 Math.round(2.5)=3;
 random()返回0~1之间的随机数 Math.random();
 可以转换成整数:parseInt(Matn.random()*10);
 max()返回最大值
 min()返回最小值
 abs()返回绝对值

九,浏览器的内置对象BOM(browser object model)
1,window对象:大部分对象的祖先,最高级别对象之一。

1)简介:Window对象是指当前的浏览器窗口,所有的js全局变量函数以及变量都是Window对象的成员。
其中,全局变量是window对象的属性,全局函数是window对象的方法。

2)获得浏览器内部窗口的尺寸(即内容区域的尺寸,不包括滚动条工具栏等):
window.innerHeight浏览器窗口的内部高度,window.innerWidth,浏览器的内部宽度。

3)使用window.open(url)可以打开一个窗口,使用window.close()可以关闭当前窗口。

2,history对象
window.history()对象包含浏览器的历史(url)的集合
有三个方法:
1)history.back()后退,返回到前一页
2)history.forward(),前进,进入到下一页
3)history.go(),带参数,参数就是要进入的页数,-1是前一页,-2是前两页,依次类推,当前页是0.

3. Timer
js를 사용하면 함수 호출 직후가 아닌 설정된 시간 간격 후에 코드가 실행됩니다. 하나는 setInterval()입니다. 간격은 밀리초 단위로 지정됩니다. 지정된 코드
One은 setTimeout()입니다. - 지정된 밀리초 동안 일시 중지한 후 지정된 코드를 실행합니다.
setTimeout을 사용하여 setInterval() 함수를 구현할 수 있습니다. 호출 함수 코드에서 자신을 호출하면 됩니다!
setInterval(funtion(){},1000);
setTimeout(funtion(){},1000);

clearInterval(),clearTimeout()을 사용하여 이 호출을 삭제할 수 있습니다.

4, Location 객체

가 사용됩니다. 현재 페이지의 주소를 얻고 브라우저를 새 페이지로 리디렉션합니다(실제로 내 이해는 현재 주소를 구문 분석하는 것입니다)


Location 개체의 속성:

location.hostname: 웹 호스트의 도메인 이름을 반환합니다.

location .pathname: 현재 페이지를 반환합니다. 경로 및 파일 이름을 반환합니다.
location.port: 웹 호스트의 포트를 반환합니다.
location.protocol: 사용된 웹 프로토콜을 반환합니다.
location.href: 현재 페이지의 URL을 반환합니다.
location.sign ()는 새 문서를 로드하며 매개변수는 필수입니다. 문서를 로드할 경로입니다.

window.location.hostname;

5, 화면 객체

window.screen 객체에는 사용자 화면

screen.avaiilWidth; //사용 가능한 화면 높이
screen.availHeight; //화면 높이
screen.width;//화면 너비

6, 탐색 개체
7, 팝업 창, 쿠키

ten, js 객체 지향적 사고

관련 기사:

중요한 JavaScript 지식 요약 포인트 1

JavaScript 이벤트 "이벤트 객체"에 대한 주의 사항_javascript 기술

관련 동영상:

JavaScript 기초 향상 동영상 튜토리얼

위 내용은 자바스크립트의 핵심을 가장 체계적으로 정리한 책(기본 언어 구문 제외)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python vs. JavaScript : 개발자를위한 비교 분석Python vs. JavaScript : 개발자를위한 비교 분석May 09, 2025 am 12:22 AM

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python vs. JavaScript : 작업에 적합한 도구 선택Python vs. JavaScript : 작업에 적합한 도구 선택May 08, 2025 am 12:10 AM

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬 및 자바 스크립트 : 각각의 강점을 이해합니다파이썬 및 자바 스크립트 : 각각의 강점을 이해합니다May 06, 2025 am 12:15 AM

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

JavaScript의 핵심 : C 또는 C에 구축 되었습니까?JavaScript의 핵심 : C 또는 C에 구축 되었습니까?May 05, 2025 am 12:07 AM

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript 응용 프로그램 : 프론트 엔드에서 백엔드까지JavaScript 응용 프로그램 : 프론트 엔드에서 백엔드까지May 04, 2025 am 12:12 AM

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python vs. JavaScript : 어떤 언어를 배워야합니까?Python vs. JavaScript : 어떤 언어를 배워야합니까?May 03, 2025 am 12:10 AM

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.

JavaScript 프레임 워크 : 현대적인 웹 개발 파워JavaScript 프레임 워크 : 현대적인 웹 개발 파워May 02, 2025 am 12:04 AM

JavaScript 프레임 워크의 힘은 개발 단순화, 사용자 경험 및 응용 프로그램 성능을 향상시키는 데 있습니다. 프레임 워크를 선택할 때 : 1. 프로젝트 규모와 복잡성, 2. 팀 경험, 3. 생태계 및 커뮤니티 지원.

JavaScript, C 및 브라우저의 관계JavaScript, C 및 브라우저의 관계May 01, 2025 am 12:06 AM

서론 나는 당신이 이상하다는 것을 알고 있습니다. JavaScript, C 및 Browser는 정확히 무엇을해야합니까? 그들은 관련이없는 것처럼 보이지만 실제로는 현대 웹 개발에서 매우 중요한 역할을합니다. 오늘 우리는이 세 가지 사이의 밀접한 관계에 대해 논의 할 것입니다. 이 기사를 통해 브라우저에서 JavaScript가 어떻게 실행되는지, 브라우저 엔진의 C 역할 및 웹 페이지의 렌더링 및 상호 작용을 유도하기 위해 함께 작동하는 방법을 알게됩니다. 우리는 모두 JavaScript와 브라우저의 관계를 알고 있습니다. JavaScript는 프론트 엔드 개발의 핵심 언어입니다. 브라우저에서 직접 실행되므로 웹 페이지를 생생하고 흥미롭게 만듭니다. 왜 Javascr

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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

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

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.