web_day03_javascript入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35537301/article/details/82108096

概念

一种直译式并且广泛应用于客户端的脚本语言

作用

可以为html增加动态效果

特点

  • 直译式
  • 弱类型
  • 跨平台性

js的组成

  • ECMAscript(语法)  脚本语言的规范
  • BOM(浏览器对象模型) 通过BOM对象可以操作浏览器
  • DOM(文档对象模型)  通过DOM对象可以修改和访问html文档的内容跟结构

js和html的整合

内嵌式

  • 通过script标签来完成整合  一般情况下放到head标签中

外联式

  • 在外部定义一个后缀名为.js的文件
  • 在内部通过script标签的src属性导入即可

ECMAscript语法

变量

变量的命名规范

  • 必须以字母或下划线开头,中间可以是数字、字符或下划线
  • 变量名不能办好空格等符号
  • 不能使用JavaScript关键字作为变量名,如:function
  • JavaScript严格区分大小写

变量的声明

  • var 变量名 = 初始化值;

数据类型

  • 原始数据类型

  数据类型 取值
  Undefined undefined
  Null null
  String 凡是由引号包裹起来的数据
  Boolean true/false
  Number 一切数字

通过typeof运算符可以判断出是哪种数据类型

  • 引用数据类型

new

运算符

  • 算数运算符

y=5;

运算符 描述 例子 结果
+ x=y+2 x=7
- x=y-2 x=3
* x=y*2 x=10
/ x=y/2 x=2.5
% 求余数 x=y%2 x=1
++ 累加 x=++y x=6
- - 递减 x=- -y x=4
  • 赋值运算符

y=10

运算符 例子 等价于 结果
= x=y   x=5
+= x+=y x=y+5 x=15
-= x-=y x=y-5 x=5
*= x*=y x=x*y x=50
/= x/=y x=x/y x=2
%= x%=y x=x%y x=0
  • 比较运算符

运算符 描述 例子
== 等于 x==8 fanlse
=== 全等(值和类型)

x===5   true

x==="5" false

!==    
!= 不等于 x!=8   true
> 大于 x>8    false
< 小于 x<8    true
>= 大于或等于 x>=8   false
<= 小于或等于 x<=8   true
  • 逻辑运算符

运算符 描述 例子
&& and (x<10 && y>1)  true
|| or (x==y||y==5)  false
! not !(x==y)    true
  • 等性运算

语句

判断语句

if()else{}

循环语句

for(){}

函数

方式1

function 函数名(参数列表){
    函数体
}

 方式2:匿名函数

var 函数名 = function(参数列表){
    函数体
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			function sub(i,j){
				alert(i+j);
			}
			
			var mul = function(q,k){
				alert(q*k);
			}
			
			function sub1(i,j){
				return i+j;
			}
			
			//sub(2,4);
			//mul(17,999);
			var res = sub1(3,8);
			alert(res);
		</script>
	</head>
	<body>
	</body>
</html>

注意

  • 函数不用声明返回值类型
  • 参数不需要加类型
  • 函数调用:函数名(参数)

事件

常用事件

属性 当以下情况发生时,出现此事件 FF N IE
onabort 图像加载被中断 1 3 4
onblur 元素失去焦点 1 2 3
onchange 用户改变域的内容 1 2 3
onclick 鼠标点击某个对象 1 2 3
ondblclick 鼠标双击某个对象 1 4 4
onerror 当加载文档或图像时发生某个错误 1 3 4
onfocus 元素获得焦点 1 2 3
onkeydown 某个键盘的键被按下 1 4 3
onkeypress 某个键盘的键被按下或按住 1 4 3
onkeyup 某个键盘的键被松开 1 4 3
onload 某个页面或图像被完成加载 1 2 3
onmousedown 某个鼠标按键被按下 1 4 4
onmousemove 鼠标被移动 1 6 3
onmouseout 鼠标从某元素移开 1 4 4
onmouseover 鼠标被移到某元素之上 1 2 3
onmouseup 某个鼠标按键被松开 1 4 4
onreset 重置按钮被点击 1 3 4
onresize 窗口或框架被调整尺寸 1 4 4
onselect 文本被选定 1 2 3
onsubmit 提交按钮被点击 1 2 3
onunload 用户退出页面 1 2 3

绑定事件

方式1

  • 通过标签的事件属性  进行绑定
  • <button onclick="函数名"/>

方式2:派发事件

  • 第一步,获取对象
var obj=document.getElementById("id值")
  • 为对象派发事件
obj.onclick = function(){
    函数体
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			function show(){
				alert("第一种绑定方式");
			}

			//页面加载事件
			onload = function(){
			    var btnObj=document.getElementById("btn1");
			    btnObj.onclick = function(){
				    alert("第二种绑定方式");
			    }
			}
			
		</script>
	</head>
	<body>
		<button onclick="show()">第一种绑定方式</button>
		
		<button id="btn1">第二种绑定方式</button>
		<button>第二种绑定方式</button>
		<button>第二种绑定方式</button>
		<button>第二种绑定方式</button>
		<button>第二种绑定方式</button>
		<button>第二种绑定方式</button>
		<button>第二种绑定方式</button>
		<button>第二种绑定方式</button>
	</body>
</html>

BOM(浏览器对象模型)

通过BOM对象可以操作浏览器

Window(窗口)

属性

可以访问包括自身在内的其他四个对象

Window.history===history

方法

提示框

alert() 提示框

confirm() 确认框

propmt() 提示输入框

定时器

定时器:有id返回值

setInterVal(要执行的函数,间隔的毫秒值); 周期性定时器    反复执行

clearInterVal(周期性定时器的id)

setTimeOut(要执行的函数,间隔的毫秒值);执行一次的定时器

clearTimeOut(执行一次的定时器)

打开和关闭

打开:open()

关闭:close()

History(浏览历史)

forward() 前进

back()   后退

go(index)

go(1)

go(-1)

Location(定位URL)

href

获取当前页面的URL

location.href

设置当前页面的URL

location.href=""

JS开发的步骤

  • 确定事件
  • 获取对象
  • 操作对象

案例1---表单提交校验

需求

校验数据的有效性

技术分析

表单提交事件

步骤分析

  • 确定事件  onsubmit="return 函数名()"
  • 编写校验函数
  • 获取用户名对象
  • 通过对象获取value值
  •  判断用户名是否为空
  • 给出提示
  • 阻止表单提交  return false
<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<script>
		function checkForm(){
			//获取对象
			var usernameObj=document.getElementById("username");
			var passwordObj =document.getElementById("password"); 
			//获取value值
			var usernameVal=usernameObj.value;
			var passwordVal=passwordObj.value;
			//判断用户名
			if(usernameVal==""){
				alert("用户名不能为空!");
				//阻止表单提交
				return false;
			}
			if(passwordVal==""){
				alert("密码不能为空!");
				return false;
			}
			
		}
	</script>
	<body>
		<form action="#" method="get" onsubmit="return checkForm()">
			<table width="60%" height="60%"  align="center" bgcolor="#ffffff">
				<tr>
					<td colspan="3">会员注册USER REGISTER</td>
				</tr>
				<tr>
					<td width="20%">用户名:</td>
					<td width="40%"><input type="text" name="username" id="username"></td>
					<td width="40%"><span id="username_msg"></span></td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" name="password" id="password"></td>
					<td><span id="password_msg"></span></td>
				</tr>
				<tr>
					<td>确认密码:</td>
					<td><input type="password" name="repassword" id="repassword"></td>
					<td><span id="repassword_msg"></span></td>
				</tr>
				<tr>
					<td>Email:</td>
					<td><input type="text" name="email" id="email"></td>
					<td><span id="email_msg"></span></td>
				</tr>
				<tr>
					<td>姓名:</td>
					<td><input type="text" name="name"></td>
				</tr>
				<tr>
					<td>性别:</td>
					<td>
						<input type="radio" name="sex" value="男"> 男
						<input type="radio" name="sex" value="女" />女
					</td>
				</tr>
				<tr>
					<td>出生日期</td>
					<td>
						<input type="text" name="birthday">

					</td>
				</tr>
				<tr>
					<td>验证码</td>
					<td>
						<input type="text" name="checkcode">
					</td>
				</tr>
				<tr>
					<td colspan="2">
						<input type="submit" value="注册" />
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>

案例二:轮播图

需求

间隔一定的时间图片自动切换

技术分析

定时器

window.setInterval(code,millisec); ---周期性定时器

code:执行的函数名或执行的代码字符串

millisec:时间间隔

window.clearInterval();---取消定时器

格式

setInterVal(show,2000)

setInterVal("show(参数列表)",2000)

步骤分析

  • 确定事件   onload = function(){}
  • 定义一个周期性定时器  setInterVal(切换的函数,2000)
  • 定义切换函数
  • 获取轮播图片对象
  • 获取src属性

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			a{
				text-decoration: none;
			}
			
			.cle{
				clear: both;
			}
			
			/*logo 部分的div*/
			.header{
				width: 100%;
			}
			.header div{
				float:left;
				width:33.33%;
				height: 60px;
				line-height: 50px;
			}
			.header a{
				padding: 15px;
			}
			
			/*菜单部分*/
			.menu{
				width: 100%;
				background-color: #000;
				height: 50px;
				padding-top:1px
			}
			
			.menu ul li{
				list-style-type: none;
				display: inline;
			}
			
			.menu a{
				font-size: 25px;
				color: #fff;
				
			}
			
			/*轮播图*/
			.lunbo{
				width:100%;
				margin-top:10px;
				margin-bottom: 10px;
			}
			
			.lunbo img{
				width:100%;
			}
			
			/*热门商品*/
			/*.left,.right{
				float:left;
			}*/
			.left{
				float:left;
				width: 16%;
				height: 500px;
			}
			.right{
				float: left;
				width:84%;
				text-align: center;
				height: 500px;
			}
			
			.middle{
				float:left;
				width: 50%;
				height: 250px;
			}
			.item{
				float:left;
				width:16.66%;
				height: 250px;
			}
			
			/*给广告*/
			.ad1{
				width: 100%;
			}
			.ad1 img{
				width: 100%;
			}
			
			/*版权*/
			.foot{
				width:100%;
			}
			.foot p{
				text-align: center;
			}
		</style>
		<script type="text/javascript">
			onload = function(){
				setInterval(show,2000);
			}
			//完成切换函数
			var i=1;
			function show(){
				i++;
				//获取img对象
				var imgObj=document.getElementById("imgId");
				//获取src属性
				imgObj.src="../img/"+i+".jpg";
				if(i==3){
					i=0;
				}
			}
		</script>
	</head>
	<body>
		<!--
			一个大div中放置8个div
		-->
		<div>
			<!--logo
				嵌套三个div
			-->
			<div class="header">
				<div>
					<img src="../img/logo2.png" height="40px" />
				</div>
				<div>
					<img src="../img/header.jpg" />
				</div>
				<div>
					<a href="#">登录</a>
					<a href="#">注册</a>
					<a href="#">购物车</a>
				</div>
			</div>
			
			<div class="cle"></div>
			
			<!--菜单-->
			<div class="menu">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">首页</a></li>
					<li><a href="#">首页</a></li>
					<li><a href="#">首页</a></li>
				</ul>
			</div>
			
			<!--轮播图-->
			<div class="lunbo">
				<img id="imgId" src="../img/1.jpg"/>
			</div>
			
			<!--热门
				将起划分成两个div
					左边放图片
					右边的放商品
						
			-->
			<div class="hot">
				<!--存放热门商品和一张图片-->
				<div>
					<h2 style="display: inline;">热门商品</h2>
					<img  src="../img/title2.jpg" />
				</div>
				<div>
					<!--存放左边的图片-->
					<div class="left">
						<img src="../img/big01.jpg" />
					</div>
					<!--存放商品图片-->
					<div class="right">
						<div class="middle">
							<img src="../img/middle01.jpg" />
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						
					</div>
				</div>
			</div>
			
			<div class="cle"></div>
			
			<!--广告-->
			<div class="ad1">
				<img src="../img/ad.jpg"/>
			</div>
			
			<!--最新-->
			<div></div>
			
			<!--广告-->
			<div class="ad1">
				<img src="../img/footer.jpg"/>
			</div>
			
			<!--版权foot-->
			<div class="foot">
				<p>
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
					</p>
					<p>
						Copyright &copy; 2005-2016 传智商城 版权所有
					</p>
			</div>
			
			
		</div>
	</body>
</html>

案例3---定时弹出广告

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			a{
				text-decoration: none;
			}
			
			.cle{
				clear: both;
			}
			
			/*logo 部分的div*/
			.header{
				width: 100%;
			}
			.header div{
				float:left;
				width:33.33%;
				height: 60px;
				line-height: 50px;
			}
			.header a{
				padding: 15px;
			}
			
			/*菜单部分*/
			.menu{
				width: 100%;
				background-color: #000;
				height: 50px;
				padding-top:1px
			}
			
			.menu ul li{
				list-style-type: none;
				display: inline;
			}
			
			.menu a{
				font-size: 25px;
				color: #fff;
				
			}
			
			/*轮播图*/
			.lunbo{
				width:100%;
				margin-top:10px;
				margin-bottom: 10px;
			}
			
			.lunbo img{
				width:100%;
			}
			
			/*热门商品*/
			/*.left,.right{
				float:left;
			}*/
			.left{
				float:left;
				width: 16%;
				height: 500px;
			}
			.right{
				float: left;
				width:84%;
				text-align: center;
				height: 500px;
			}
			
			.middle{
				float:left;
				width: 50%;
				height: 250px;
			}
			.item{
				float:left;
				width:16.66%;
				height: 250px;
			}
			
			/*给广告*/
			.ad1{
				width: 100%;
			}
			.ad1 img{
				width: 100%;
			}
			
			/*版权*/
			.foot{
				width:100%;
			}
			.foot p{
				text-align: center;
			}
		</style>
		<script type="text/javascript">
			var interId;
			onload = function(){
				 interId=setInterval(showAd,4000);
			}
			//完成显示广告的函数
			var i =0;
			function showAd(){
				i++;
				//获取对象
				var adObj=document.getElementById("ad");
				//操作对象
				adObj.style.display="block";
				//定义隐藏广告的定时器
				setTimeout(hiddenAd,2000);
				
				if(i==3){
					clearInterval(interId);
				}
			}
			//完成隐藏广告函数
			function hiddenAd(){
				//获取对象
				var adObj=document.getElementById("ad");
				//操作对象
				adObj.style.display="none";
			}
		</script>
	</head>
	<body>
		<div id="ad" style="width:100%;display: none;">
			<img src="../img/ad_.jpg" width="100%" />
		</div>
		<!--
			一个大div中放置8个div
		-->
		<div>
			<!--logo
				嵌套三个div
			-->
			<div class="header">
				<div>
					<img src="../img/logo2.png" height="40px" />
				</div>
				<div>
					<img src="../img/header.jpg" />
				</div>
				<div>
					<a href="#">登录</a>
					<a href="#">注册</a>
					<a href="#">购物车</a>
				</div>
			</div>
			
			<div class="cle"></div>
			
			<!--菜单-->
			<div class="menu">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">首页</a></li>
					<li><a href="#">首页</a></li>
					<li><a href="#">首页</a></li>
				</ul>
			</div>
			
			<!--轮播图-->
			<div class="lunbo">
				<img src="../img/1.jpg"/>
			</div>
			
			<!--热门
				将起划分成两个div
					左边放图片
					右边的放商品
						
			-->
			<div class="hot">
				<!--存放热门商品和一张图片-->
				<div>
					<h2 style="display: inline;">热门商品</h2>
					<img src="../img/title2.jpg" />
				</div>
				<div>
					<!--存放左边的图片-->
					<div class="left">
						<img src="../img/big01.jpg" />
					</div>
					<!--存放商品图片-->
					<div class="right">
						<div class="middle">
							<img src="../img/middle01.jpg" />
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						<div class="item">
							<img src="../img/small08.jpg" />
							<p align="center"><a href="#">电饭煲</a></p>
							<p align="center">200</p>
						</div>
						
					</div>
				</div>
			</div>
			
			<div class="cle"></div>
			
			<!--广告-->
			<div class="ad1">
				<img src="../img/ad.jpg"/>
			</div>
			
			<!--最新-->
			<div></div>
			
			<!--广告-->
			<div class="ad1">
				<img src="../img/footer.jpg"/>
			</div>
			
			<!--版权foot-->
			<div class="foot">
				<p>
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
						<a href="#">关于我们</a> 
					</p>
					<p>
						Copyright &copy; 2005-2016 传智商城 版权所有
					</p>
			</div>
			
			
		</div>
	</body>
	
</html>

猜你喜欢

转载自blog.csdn.net/qq_35537301/article/details/82108096