小白学Java30:JavaScript

  • 什么是JavaScript
  • JavaScript的基本语法
  • 使用JavaScript
  • JavaScript数据类型
  • 变量声明
  • 基本类型
  • 数字类型(Number)
  • 字符串类型(String)
  • 布尔类型(boolean)
  • 引用类型
  • 数组类型
  • JavaScript的运算符
  • 逻辑运算符
  • 关系运算符
  • 单目运算符
  • JavaScript的函数
  • 自定义函数
  • 声明方式
  • 自定义函数的分类
  • 常用函数
  • 三种弹窗函数
  • 事件
  • JavaScript的DOM
  • 查找HTML元素
  • 利用当前元素获得周边元素
  • 改变HTML元素
  • 改变HTML元素的CSS样式
  • DOM事件
  • EventLIstener:监听事件
  • 添加监听事件
  • 监听事件的传递方式
  • 使用DOM操作元素
  • 添加元素到HTML
  • 删除元素
  • JavaScript定时器
  • 定义定时器:


什么是JavaScript

JavaScript的基本语法

使用JavaScript

  1. 在html文件中声明一个<script></script>标签组,然后在其标签组内使用JavaScript来编写代码
<script>
	document.write("hello,world");
</script>
  1. 使用外部的js文件,然后通过<script></script>引入js文件
<script type="text/javascript" src="demo1.js"></script>

JavaScript数据类型

变量声明

任何变量都是用var来声明
var a;

<script>
	var a;
</script>

基本类型

未被初始化的变量默认值为Undefined
变量的基本类型有数字类型(Number),字符类型(String),布尔类型(Boolean),未定义(Undefined),Null类型,五种,
但是后两种都是不允许出现的类型

数字类型(Number)

var a=1;

字符串类型(String)

var a = "1";

布尔类型(boolean)

var a=false;

引用类型

大括号表示引用类型

<script>
			var student = {
				id: 1,
				name: "张三",
				age: 18
			};
			document.write(student.id)
			document.write(student.name)
			document.write(student.age)
		</script>

数组类型

中括号表示数组类型

<script>
			var n = [100,true,"hello"];
			alert(n.length);//弹出框
			alert(n[0]);//元素下标从0开始
			alert(n[n.length-1]);//弹出数组最后一个元素
		</script>

JavaScript的运算符

逻辑运算符

  • 与:&&
  • 或: ||
  • 非: !

关系运算符

大于
小于
等于
不等于
大于等于
小于等于
“值和类型相同 = = =”

单目运算符

基本都同Java的东西,这里我就不写了

JavaScript的函数

自定义函数

声明方式

function 方法名(){
			//执行代码块
		}

自定义函数的分类

  1. 无返回值无入参的方法
function ff(){
			//执行代码块
		}
  1. 无返回值有入参的方法
function ff(a,b){
		//执行代码块
	}
  1. 有返回值有入参的方法
var c=ff(v1,v2);
function ff(a,b){	
		return a+b;
		}

常用函数

三种弹窗函数

  1. 提示框: alert()
alert("hello");
  1. 带确定取消的框,确定返回true 取消返回false
var con = confirm("确定删除?");

3.带输入框的框,返回输入内容,取消返回null

var input = prompt("你爱学习嘛?");

事件

  1. HTML元素改变事件:onchange
<input type="text" id="name" onchange="alert(this.value)" />
  1. 点击事件:onclick
<button onclick="alert('按钮被点击')">按钮</button>;
  1. 鼠标移入:onmouseover
<div id="d1" onmouseover="alert('鼠标移入')"></div>
  1. 鼠标移动:onmousemove
<div id="d1" onmousemove="alert('鼠标移动')"></div>
  1. 鼠标移出: onmouseout
<div id="d1" onmouseout="alert('鼠标移出')"></div>
  1. 键盘:onkeyup/onkeydown
<input type="text" onkeydown="alert('键盘按下')"/>;
			<input type="text" onkeyup="alert('键盘释放')"/>;
  1. 页面加载完成: onload
<body onload="alert('页面加载完成')">
  1. 表单提交: onsubmit
<form onsubmit="alert('表单提交')">
	<input type="text"/>
	<input type="submit" />
</form>

JavaScript的DOM

DOM简单可以理解为浏览器创建的对象模型,通过JavaScript控制DOM可以控制HTML界面上的元素

查找HTML元素

  1. 通过ID查询元素
//通过ID查找元素
var d1=document.getElementById("d1");
  1. 通过标签名查询元素
//通过标签名查找元素(查找到的是以数组形式存在变量中)
var d3=document.getElementsByTagName("d3");
  1. 通过类名查找元素
//通过类名查找元素(查找到的是以数组形式存在变量中)
var d4=document.getElementsByClassName("d4")

利用当前元素获得周边元素

  1. 获得当前元素的父节点元素
var d1=document.getElementById("d1");
var father = d1.parentNode;
  1. 获得当前元素的子元素(返回的是集合)
var d1=document.getElementById("d1");
var d3 = d1.children;
  1. 获得当前元素的第一个子元素
var d1=document.getElementById("d1");
var d4 = d1.firstElementChildChild;
  1. 获得当前元素的最后一个子元素
var d1=document.getElementById("d1");
var d5 = d1.lastElementChild;
  1. 获得当前元素的上一个兄弟元素
var d1=document.getElementById("d1");
var d6 = d1.previousElementSibling;
  1. 获得当前元素的下一个兄弟元素
var d1=document.getElementById("d1");
var d7 = d1.nextElementSibling;

改变HTML元素

改变HTML属性,document.getElementById(id).属性名=新属性值
d.getAttribute(“属性名称”)获得属性名称的属性值
d.setAttribute(“属性名称:属性值”)设置属性名称的新的属性值
d.removeAttribute(“属性名”)删除该条属性

document.getElementById("d1").innerHTML = "hello";
document.getElementById("d1").align="center";

改变HTML元素的CSS样式

document.getElementById("d1").style.width = "400px";
document.getElementById("d1").style.height = "400px";

DOM事件

其实同理与HTML元素的事件

EventLIstener:监听事件

添加监听事件

var d1=document.getElementById("d1")
d1.addEventListener("mouseover",function (){
		alert("鼠标移入");
	});

监听事件的传递方式

  1. 冒泡
  2. 捕获

当同一个事件被多层元素触发的时候,冒泡是从内到外
捕获是从外到内
添加事件的时候第三个默认为false:为冒泡传递
当修改为true时采用捕获传递

div.addEventListener("mouseover",function (){
		alert("div被触发");
	},true)

使用DOM操作元素

添加元素到HTML
  1. 创建元素:document.createElement()
  2. 追加元素:appendChild()
<body>
		<table id="tab" border="1" cellspacing="0" width="200px">
			<tr>
				<th>序号</th>
				<th>名字</th>
				<th>内容</th>
				<th>日期</th>
				<th>备注</th>
			</tr>
		</table>
		<script>
			//获得对象
			var tab=document.getElementById("tab");
			
			//创建 对象
			var tr =document.createElement("tr");
			
			var th1=document.createElement("th");
			th1.innerHTML="1";
			tr.appendChild(th1);
			var th2=document.createElement("th");
			th2.innerHTML="zhangsai";
			tr.appendChild(th2);
			var th3=document.createElement("th");
			th3.innerHTML="hah";
			tr.appendChild(th3);
			var th4=document.createElement("th");
			th4.innerHTML=new Date();
			tr.appendChild(th4);
			var th5=document.createElement("th");
			th5.innerHTML="dfadfad";
			tr.appendChild(th5);
			
			//添加对象
			tab.appendChild(tr);
		</script>
	</body>

删除元素

tab.removeChild(tab.children[1]);

JavaScript定时器

定义定时器:

  1. setInterval(“调用函数”,毫秒值)每间隔固定毫秒值就执行一次函数
  • clearInterval(定时器名称):关闭定时器
  1. setTimeout("调用函数"毫秒值)在固定时间之后执行一次调用函数
  • clearTimeout(定时器名称)