day2 JavaScript 1

javascript 俗称 js
案例1-校验表单
需求:
表单提交的时候需要校验数据是否完整,若不满足条件,则使用弹出框提示.
技术分析:
js
//
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言
内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言
组成部分:
ECMAScript:js基础语法(规定 关键字 运算符 语句 函数等等…)
BOM:浏览器对象模型
DOM:文档对象模型
作用:
修改html页面的内容
修改html的样式
完成表单的验证
注意:
js可以在页面上直接写,也可以单独出去
js的文件的后缀名 .js
js和html整合
方式1:在页面上直接写
将js代码放在 标签中,一般放在head标签中
方式2:独立的js文件
通过script标签的src属性导入
js中变量声明:
var 变量名=初始化值;
var 变量名;
变量名=初始化值;
注意:
var可以省略 建议不要省略
一行要以分号结尾,最后一个分号可以省略,建议不要省略
js的数据类型:
原始类型:(5种)
Null
String
Number
Boolean
Undefined
通过 typeof运算符可以判断一个值或者变量是否属于原始类型,若属于原始类型,他还可以判断出属于那种原始类型
typeof 变量|值;
若变量为null,使用typeof弹出的值 object

	使用typeof的返回值
		undefined - 如果变量是 Undefined 类型的 
		boolean - 如果变量是 Boolean 类型的 
		number - 如果变量是 Number 类型的 
		string - 如果变量是 String 类型的 
		object - 如果变量是一种引用类型或 Null 类型的 

引用类型:

//
js:事件驱动函数
函数定义格式:
方式1:
function 函数名(参数){
函数体;
}
注意:函数不用声明返回值类型
参数不需要加类型
函数调用的时候
函数名(参数)
js中的事件:
常见的事件:
单击: onclick
表单提交: onsubmit 加在form表单上的 οnsubmit=“return 函数名()” 注意函数返回值为boolean类型
页面加载: onload

js事件和函数的绑定:
方式1:
通过标签的事件属性
js获取元素:
方式1:
var obj=documnet.getElementById(“id值”);
获取元素的value值
obj.value;
获取元素的标签体中的内容
obj.innerHTML;

案例2-步骤分析:
1.先有一个表单
2.在form上添加一个事件 οnsubmit=“return checkForm()”
3.编写checkForm这个方法
4.获取每个表单子标签的内容
5.判断是否满足要求,
若满足,不用管他
若不满足,表单不能提交,返回false,且提示信息.
///
函数的定义:
方式1:
function 函数名(参数){
函数体;
}

方式2:
	var 函数名=function(参数){
		函数体;
	}

js事件和函数的绑定:
type规定了这是一个按钮,value是按钮上的数字,onclick对应的是点击后调用的函数
当用户进入或离开页面时就会触发 onload 和 onUnload 事件。

方式1:
	通过标签的事件属性   <xxx onclick="函数名(参数)"></xxx>
方式2:
	给元素派发事件
		document.getElementById("id值").onclick=function(参数){....}
		document.getElementById("id值").onclick=函数名
	注意:
		内存中应该存在该元素才可以派发事件
	a.将方式2的js代码放在html页面的最下面
	b.在页面加载成功之后在运行方式2的js代码  onload事件.


案例3-轮播图片
需求:
每隔3秒图片更新一下
技术分析:
bom中window对象的定时器方法
定时器:
var id=setInterVal(code,毫秒数):每隔指定的毫秒数执行一次函数 周期
var id=setTimeout(code,毫秒数):延迟指定的毫秒数之后 只执行一次函数

清除定时器:
	clearInterval(id);
	claerTimeout(id);

String对象
原始类型的String是一个为对象可以直接调用String类对象的方法
substring(0,endIndex);

步骤分析:
1.在首页上面绑定一个onload事件
2.事件绑定的函数中编写一个定时器
3.定时器每隔3秒更换图片
imgObj.src="";
///
补充:
运算符:
比较运算符: > >= < <=
若两边都是数字 和java一样
若一般为数字,另一边为字符串形式的数字,将字符串形式的数字转换成数字在进行比较 3>“2”
若一般为数字,另一边为字符串,返回一个false 3>“hello”
两边都是字符串的时候,比较ascii
等性运算符 == ===
== :只判断值是否相同
===:不仅判断是否相同,还要判断类型是否相同
语句:
if语句 和java一样
for while 语句和java一样
switch 和java一样(区别,switch 后面跟字符串. 还可以跟变量)
/

总结:掌握
1.css和html整合
方式3种
2.css中选择器:
id class 元素
属性 后代
3.js
js和html整合
方式两种
4.变量定义
5.函数定义
2中格式
6.事件
onclick onload onsubmit
7.事件和函数的绑定
2中方式
8.定时器 2种
9.for while if

JS的数据类型:
原始类型:5种
Null String Number Boolean Undefined
通过typeof运算符可以判断一个值是否属于原始类型,若属于原始类型,可判断出属于哪种原始类型
引用类型:

JavaScript是被设计用来向HTML页面添加交互行为。
JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言)
JavaScript通常被直接嵌入HTML页面
在这里插入图片描述
JavaScript 可以放置
1、文档的head部分,这样可以确保在调用函数前,脚本已经载入
2、body部分,可以执行位于body部分的脚本
3、使用外部JavaScript 调用格式:
在这里插入图片描述
JS的提示框:
alert("文本“) 警告框
confirm(“文本”) 确认框
prompt(“文本”,“默认值”) 提示框
在这里插入图片描述
在这里插入图片描述
JS可以在head中定义函数,通过body内调用函数
对于没有写入函数的script,系统会在页面载入时自动执行,定义函数后,只有通过onclick(点击)才能调用

JavaScript事件
1、onload和onUnload事件:
onload事件常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的网页
在这里插入图片描述
在这里插入图片描述
JavaScript捕获错误(try…catch和onerror)在这里插入图片描述
在这里插入图片描述
JavaScript Throw声明
throw(exception)
在这里插入图片描述
onerror事件
在这里插入图片描述
在这里插入图片描述
onerror的使用 需要创建一个处理错误的函数,我们称为onerror事件处理器
这个事件处理器使用三个参数来调用(msg错误信息)、(url发生错误的页面的url)、(line发生错误的代码行)

JavaScript特殊字符
转义字符 \
" 表示 "在这里插入图片描述
JS对大小写敏感,要注意字符大小写
字符串内部的换行可以用\ 和python一样

JS面向对象编程
JavaScript是面向对象的编程语言(OOP) OOP语言使我们有能力定义自己的对象和变量类型
注意:对象只是一种特殊的数据,对象拥有属性和方法。
属性:指域对象有关的值
方法:指对象可以执行的行为
在这里插入图片描述
1、字符串对象:用来处理已有的字符块
2、日期对象:在这里插入图片描述
在这里插入图片描述
初始值是当前日期 var myDate = new Date()

myDate.setDate() myDate.setFullYear(2008,7,9) 2008,7,9对应的时2008年8月9日,因为月份1-12对应0-11

3、Array(数组)在这里插入图片描述
在这里插入图片描述
4、逻辑对象Boolean
在这里插入图片描述
5、Math对象
round random floor等方法
6、RegExp对象
RegExp对象用于规定在文本中检索的内容
在这里插入图片描述
test方法:检索字符串中的指定值,返回true false
在这里插入图片描述

exec方法:检索字符串中的指定值,返回的是被找到的值,如果没有发现匹配,返回null
注意例2 每次循环会更新检索的开始位置
在这里插入图片描述
3、compile()
在这里插入图片描述
6、HTML DOM对象

案例 表单校验

案例2-步骤分析:
1.先有一个表单
2.在form上添加一个事件 οnsubmit=“return checkForm()”
3.编写checkForm这个方法
4.获取每个表单子标签的内容
5.判断是否满足要求,
若满足,不用管他
若不满足,表单不能提交,返回false,且提示信息.
///

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script> //用JS写函数来判断输入的账号和密码是否符合规范
			function checkForm(){
     
     
				
				//获取用户名及其内容
				var usernameObj=document.getElementById("username"); //根据ID获取信息  保存到usernamObj下
				var username=usernameObj.value; //用username保存value
				//判断value是否为空 若为空不能提交表单,
				if(username==null || username == ""){
     
     
					alert("用户名不能为空");
					return false;
				}
				
				//获取密码及其内容
				//1.获取密码元素
				var pwdObj=document.getElementById("password");
				
				//2.获取密码的值
				var pwdValue=pwdObj.value;
				
				//3.判断
				if(pwdValue==null || pwdValue==""){
     
     
					alert("密码不能为空");
					return false;
				}
				
				return true;
			}
		</script>
	</head>
	<body>
		<form action="#" method="get" onsubmit="return checkForm()">
			姓名:<input name="username" id="username"/><br>
			密码:<input type="password" name="password" id="password"><br>
			<input type="submit" value="保存"/>
			<input type="reset" />
		</form>
	</body>
</html>

函数的定义:
方式1:
function 函数名(参数){
函数体;
}

方式2:
	var 函数名=function(参数){
		函数体;
	}

js事件和函数的绑定:
方式1:
通过标签的事件属性
方式2:
给元素派发事件
document.getElementById(“id值”).οnclick=function(参数){…}
document.getElementById(“id值”).οnclick=函数名
注意:
内存中应该存在该元素才可以派发事件
a.将方式2的js代码放在html页面的最下面
b.在页面加载成功之后在运行方式2的js代码 onload事件.
案例3-轮播图片
需求:
每隔3秒图片更新一下
技术分析:
bom中window对象的定时器方法
定时器:
var id=setInterVal(code,毫秒数):每隔指定的毫秒数执行一次函数 周期 (code对应函数即可)
var id=setTimeout(code,毫秒数):延迟指定的毫秒数之后 只执行一次函数

清除定时器:
	clearInterval(id);   clear针对的id是上面var id这部分
	claerTimeout(id);

String对象
原始类型的String是一个为对象可以直接调用String类对象的方法
substring(0,endIndex);

步骤分析:
1.在首页上面绑定一个onload事件
2.事件绑定的函数中编写一个定时器
3.定时器每隔3秒更换图片
imgObj.src="";

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			var s="我们的明天更加美好!";
			var i=0;
			var divObj;
			
			function init(){
     
     
				divObj=document.getElementById("divId"); //
				setInterval(show,200); //每隔指定毫秒数执行一次
			}
			
			//往div中写内容
			function show(){
     
     
				i++;
				var s_=s.substring(0,i); //每次显示的长度逐渐增加
				//往div中设置内容
				divObj.innerHTML=s_;
				
				//当字符串写完的时候 重新开始
				if(i==s.length){
     
     
					i=0;
				}
			}
		</script>
	</head>
	<body onload="init()">
		<div id="divId"></div>
	</body>
</html>

等性运算符
判断值相等的同时判断类型是否相同

===

猜你喜欢

转载自blog.csdn.net/qq_40310710/article/details/114296220