JS 总结

目录

JS 语言基础

JS 简介

JS 注释

JS 基本数据类型

JS 类型转换

JS 运算符

JS 循环语句

JS 事件

JS 对象

JS BOM

Window

Screen

History

Location

JS DOM

HTML DOM节点概念

HTML DOM 节点属性

HTML DOM 元素节点操作

HTML DOM 节点的增删替插

HTML DOM 元素样式

HTML DOM 事件


JS 语言基础

JS 简介

JavaScript用于网页和用户之间的交互,比如提交的时候,进行用户名是否为空的判断。 
完整的javascript由语言基础BOMDOM组成。

JS 注释

    单行注释 //

    多行注释 /**/

JS 基本数据类型

基本数据类型 undefined,Boolean,Number,String,null

JS 类型转换

1.转换成字符串

无论是Number,Boolean还是String都有一个toString方法,用于转换为字符串

<script>
  var a=10; 
  document.write('默认模式下,数字10转换为十进制的'+a.toString()); //默认模式,即十进制
  document.write("<br>"); 

  document.write('基模式下,数字10转换为二进制的'+a.toString(2)); //基模式,二进制
  document.write("<br>"); 
  
  document.write('基模式下,数字10转换为八进制的'+a.toString(8)); //基模式,八进制
  document.write("<br>"); 

  document.write('基模式下,数字10转换为十六进制的'+a.toString(16)); //基模式,十六进制
  document.write("<br>"); 

</script>

2.转换成数字

javascript分别提供内置函数 parseInt()和parseFloat(),转换为数字

<script>
  document.write("字符串的\"10\"转换为数字的:"+parseInt("10")); //转换整数 结果:10
  document.write("<br>");
  document.write("字符串的\"3.14\"转换为数字的:"+parseFloat("3.14"));//转换浮点数 结果3.14
  document.write("<br>");
  document.write("字符串的\"10abc\"转换为数字的:"+parseInt("10abc")); //判断每一位,直到发现不是数字的那一位 结果:10
  document.write("<br>");

  document.write("字符串的\"hello javascript\"转换为数字的:"+parseInt("hello javascript")); //如果完全不包含数字,则返回NaN - Not a Number
  document.write("<br>");

</script>

3.转换为Boolean

使用内置函数Boolean() 转换为Boolean值
当转换字符串时:非空即为true
当转换数字时:非0即为true
当转换对象时:非null即为true

JS 运算符

JS运算符包含2中运算符:算术运算符和逻辑运算符

1.算术运算符

2.逻辑运算符

JS 循环语句

1条件语句

2.循环语句

JS 事件

见 下面的DOM

JS 对象

JavaScript中常见的对象有数字Number,字符串String,日期Date,数组Array等。 

1.Number对象

2.String对象

3.Array对象

4.Date对象

5.Math 对象

JS BOM

BOM即 浏览器对象模型(Browser Object Model)
浏览器对象包括 Window(窗口)  Navigator(浏览器)  Screen (客户端屏幕)  History(访问历史)  Location(浏览器地址)

Window

//文档显示区域的宽度和高度(不包括工具栏/滚动条)
window.innerWidth
window.innerHeight

//整个浏览器窗口的宽度和高度(包括工具栏)
window.outerWidth
window.outerHeight

window.open() - 打开新窗口
window.close() - 关闭当前窗口
window.moveTo() - 移动当前窗口
window.resizeTo() - 调整当前窗口的尺寸

window.setInterval() - 间隔指定的毫秒数不停地执行指定的代码。
window.setTimeout() - 暂停指定的毫秒数后执行指定的代码
window.clearInterval() 方法用于停止 setInterval() 方法执行的函数代码。
window.clearTimeout() 方法用于停止执行setTimeout()方法的函数代码。
window.alert()- 警告框
window.prompt()- 确认框
window.confirm()- 提示框经

Navigator即浏览器对象,提供浏览器相关的信息

navigator.appName 浏览器产品名称
navigator.appVersion 浏览器版本号
navigator.appCodeName 浏览器内部代码
navigator.platform 操作系统
navigator.cookieEnabled 是否启用Cookies
navigator.userAgent 浏览器的用户代理报头

Screen

Screen对象表示用户的屏幕相关信息

//用户的屏幕大小(与浏览器无关)
screen.width
screen.height

//屏幕的可用宽度、高度(与浏览器无关)
screen.availWidth
screen.availHeight

History

History用于记录访问历史

history.back(); 返回上次访问
history.back(-2); 返回上上次的访问

history.forward() 加载历史列表中的下一个 URL

Location

Location表示浏览器中的地址栏

location.reload(); //刷新当前页
//跳转到其他页
location="/";
location.assign("/");

location.protocol  //协议
location.hostname  //主机名
location.port  //端口号
location.host  //主机加端口号
location.pathname  //访问的路径
location.hash //锚点
location.search  //参数列表

JS DOM

DOM 是Document Object Model( 文档对象模型 )的缩写。 

HTML DOM节点概念

DOM把所有的html都转换为节点 
    整个文档 是一个节点 
    元素 是节点 
    元素属性 是节点 
    元素内容 是节点 
    注释 也是节点 

HTML DOM 节点属性

节点类型如下:

HTML DOM 元素节点操作

1.获取元素节点

2.获取/设置元素的属性 

1.获取元素节点

2.获取/设置元素的属性 

获取元素属性方式有两种方法

获取元素属性有三种方式:
var  div1 = document.getElementById("d1");

1.div1.id  元素.属性 //只能获取元素自带的属性
2.div1.getAttribute("align") //可以获取所有属性(包括自定义属性)
3.
  var attrs=div1.attributes;
  attrs["align"].nodeValue
  attrs[i].nodeValue

设置元素属性有:
div1.setAttribute("align","left")
例子:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>	
</head>
<body>
    <div id="d1" align="center" class="abc" test="test1">hello HTML DOM</div>
		
<script>
    var  div1 = document.getElementById("d1");
    document.write(" 获取元素属性:<br/>");
    document.write("元素.属性的方式: "+div1.align+"<br/>")
    document.write("getAttribute方式: "+div1.getAttribute("align")+"<br/>")
						
    var attrs = div1.attributes;
    document.write("div总共有"+attrs.length +" 个属性分别是:<br/>");
    for(i = 0; i< attrs.length; i++){
        document.write(attrs[i].nodeName+":"+attrs[i].nodeValue+"<br>");
    }
    // 设置属性	
    div1.setAttribute("align","right");
    document.write("<br>");
    document.write("div的id属性值是:"+ attrs["align"].nodeValue);		
</script>
</body>
</html>

HTML DOM 节点的增删替插

1.节点关系

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>	
</head>
<body>
    <div id="parentDiv">
    父Div的内容
    <div id="d1">第一个div</div><div id="d2">第二个div</div><div id="d3">第三个div</div>
    </div>
		
<script>
    var d2=document.getElementById("d2");
    document.write("<br/>"+d2.previousSibling.innerHTML+"<br/>");
    document.write(d2.nextSibling.nodeName+"<br/>");
    document.write(d2.parentNode.nodeName+"<br/>");

    document.write("<br/>子节点有:<br/>")
    var parentNode=document.getElementById("parentDiv");
    var childs=parentNode.childNodes;
    for(var i=0;i<childs.length;i++){
        document.write(childs[i].nodeName+"<br/>");
    }
		
</script>
</body>
</html>

2.增加,删除,插入,替换节点

createElement	创建元素节点	
createAttribute	创建属性节点
createTextNode	创建文本节点	

removeChild	删除元素节点	
removeAttribute	删除属性节点	
removeChild	删除文本节点

replaceChild 替换节点

appendChild	追加节点	
insertBefore 在前方插入节点	
	
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>	
</head>
<body>
    <div id="parentDiv">
        <div id="d1">第一个div</div>
        <div id="d2">第二个div</div>
        <div id="d3">第三个div</div>
    </div>
		
<script>
    var parentDiv=document.getElementById("parentDiv");
    var d4=document.createElement("div");
    d4.appendChild(document.createTextNode(" 第四个 div"));
    //parentDiv.appendChild(d4);
    //在前面插入
    var d3=document.getElementById("d3");
    parentDiv.insertBefore(d4,d3);
    //替换
    parentDiv.replaceChild(d4,d3);
    //删除
    //parentDiv.removeChild(d4);
    // 添加和删除元素属性
    var className=document.createAttribute("class");
    className.nodeValue="d";
    d4.setAttributeNode(className);
    d4.removeAttribute("class");
							
</script>
</body>
</html>

HTML DOM 元素样式

var d = document.getElementById("d");
d.style.display="block";

d.style.backgroundColor="green";//-会编程驼峰命名

HTML DOM 事件

 

 

 

 

吃水不忘挖井人,时刻想念发帖人。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值