首页 web前端 js教程 最系统的JavaScript关键点总结(不含有语言基础语法)

最系统的JavaScript关键点总结(不含有语言基础语法)

Jul 27, 2018 pm 03:06 PM
javascript

一,变量
1.可以用new Array("1","2");来定义数组。
2.可以通过为变量赋值为null来清除变量,如:

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

在函数里面这样定义变量的时候要注意

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

二.运算符==和===

var i="5";
var j=5;
if(i==j) alert(""hello);
if(i===j) alert("world");
登录后复制

//上面的代码运行后只会弹出hello,因为i和j的值是相等的,但是i和j的数据类型是不等的。所以==只要求值相等,但是===不但要求值相等还要要求数据类型也相等。

三,异常捕获

try{
     if() throw "";
}catch(err){
     alert(throw);
}
登录后复制

四,事件
onload 网页加载事件
onclick 点击事件
onfocus 光标聚集事件
onselect 文本框选中事件
onmouseover 鼠标经过事件
onmouserout 鼠标移出事件

五,dom操作
1,介绍:当网页被加载时,浏览器就会创建页面的文档对象模型。

2、DOM操作HTML
1)js能够改变页面中的所有HTML元素
①改变输出流:document.write();会覆盖掉文档所有的内容!慎用!
②获得元素:document.getElementById();
document.getElementByClass();
document.getElementByTagName();等

其中像tagname和那么这种有可能会获得多个元素的方法,获得的元素变成一个对象数组,按顺序排列

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

③改变Html内容:innerHTML;
④改变属性内容:获得对象后.属性=“属性值”则可,还可以用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></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'> document.getElementById(&quot;aid&quot;).href=&quot;www.baidu.com&quot;;//改变属性值</pre><div class="contentsignin">登录后复制</div></div><p></script>

3)js能够改变页面中的所有CSS样式

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

4)js能够对页面中所有事件做出反应

5)DOM对象控制HTML

六、事件句柄EventListener
事件句柄就是触发事件发生的一个动作。例如onclick就是当被点击的时候的句柄。
在js中可以添加事件句柄,这样可以减少很多代码量,
例如下面是传统的事件触发方式

在js代码中添加的事件句柄就如下:处理函数不能加()括号符!
var x=document.getElementById("btn");
x.addEventListener("click",demo);//这里有两个参数,一个是事件的句柄,后面的是处理事件的函数

删除句柄用removeEventListener();

七,事件
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而不是对象设置为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)type:获取事件类型

document.getElementById("btn").addEventListener("click",showType);
function showType(e){
     alert(e.type);
}
登录后复制

2)target:获取事件目标:哪里触发的这个事件,就是这个事件的对象是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,计时器
通过使用js,在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行
有两个函数
一个是setInterval()-间隔指定的毫秒数持续的执行指定的代码
一个是setTimeout()-暂停指定的毫秒数后执行指定的代码。
可以使用setTimeout来实现setInterval()的功能:就是在调用的函数代码里调用自己!
setInterval(funtion(){},1000);
setTimeout(funtion(){},1000);

可以使用clearInterval(),clearTimeout()来清楚这个调用,

4,Location对象
用于获得当前页面的地址,并把浏览器重定向到新的页面(其实我的理解就是解析当前地址)

Location对象的属性:
location.hostname:返回web主机的域名
location.pathname:返回当前页面的路径和文件名
location.port:返回web主机的端口
location.protocol:返回所使用的web协议
location.href:返回当前页面的url
location.assign()加载新的文档,参数是所要加载文档的路径。

window.location.hostname;

5,screen对象
window.screen对象包含有关用户屏幕的信息
screen.avaiilWidth;//可用的屏幕高度
screen.availHeight;//可用的屏幕宽度
screen.height;//屏幕高度
screen.width;//屏幕宽度

6,navigation对象
7,弹出窗口,cookie

十,js面向对象思想

相关文章:

JavaScript重要知识点总结1

JavaScript事件 "事件对象"的注意要点_javascript技巧

相关视频:

JavaScript 基础加强视频教程

以上是最系统的JavaScript关键点总结(不含有语言基础语法)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

如何在JavaScript中获取HTTP状态码的简单方法 如何在JavaScript中获取HTTP状态码的简单方法 Jan 05, 2024 pm 01:37 PM

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务

See all articles