JavaScript_1的笔记

Javascript(重要)

Javascript 1.什么是JavaScript,有什么用? JavaScript是运行在游览器上的脚本语言,简称JS。 JavaScript是网景公司(NetScape)的布兰登艾奇开发的,最初叫做LiveScript LivaScript的出现让游览器更加的生动,不再是单纯的静态页面了。页面更具有交互性 在历史的某个阶段,SUN公司和网景公司他们之间有合作关系,SUN公司把LiveScript 的名字修改为JavaScript. JavaScript这个名字虽然有"Java"但是和Java没有任何关系,只是语法上有点类似 他们运行的位置不同,Java运行在JVM当中,JavaScript运行在游览器 的内存当中 JavaCript程序不需要我们程序员动手编译,编写完源代码之后,游览器直接 打开解释执行 JavaCript的"目标程序"以普通文本形式保存,这种语言都叫做"脚本语言" Java的目标程序以.class形式存在,不能使用文本编辑器打开,不是脚本语言

<!--
javascript中的变量
怎么声明变量
var 变量名;
怎么给变量赋值?
变量名=值;
javascript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值
在JS当中,当一个变量没有手动赋值时,系统默认赋值undefined
undefined 在JS中是一个具体存在值
-->
<!--
局部变量和全局变量
全局变量:
在函数体之外声明的变量属于全局变量,全局变量的生命周期是
在游览器打开时声明,游览器关闭时销毁,尽量少用,因为全局变量会一直
在游览器的内存当中,耗费内存空间。能使用局部变量尽量使用局部变量
局部变量:
在函数体当中声明的变量,包括一个函数的形参都属于局部变量,
局部变量的声明周期:函数开始执行时局部变量的内存空间开辟,
函数执行结束之后,局部变量的内存空间释放,局部变量生命周期较短
当一个变量声明的时候没有使用var关键字,那么不管这个变量在哪里
声明都是全局变量
-->


函数初步

<!doctype html>
<html>
<head>
<title>JS函数初步</title>
</head>
<body>
<!--
JS中的变量是一种弱类型,那么函数应该怎么定义?
function 函数名(形式参数列表){
函数体;
}
​
函数名=function(形式参数列表){
函数体;
}
-->
<script type="text/javascript">
​
​
function sum(a,b){
alert(a+b);
}
sum(10,20);
</script>
<input type="button" value ="按钮" onclick = "sum(20,40)"/>
</body>
</html>

JS中的数据类型

<!doctype html>
<html>
<head>
<title>JS中的数据类型</title>
</head>
<body>
<!--
1.虽然JS中的变量在声明的时候不需要指定数据类型,但是在赋值,每一个数据还是有类型的,所以这里也需要学习一下JS包括哪些数据类型?
JS中数据类型有:原始类型,引用类型。
原始类型:Undefined,Number,String,Boolean,Null
引用类型:Object以及Object的子类
2.ES规范(ECMAScript规范),在ES6之后,又基于以上的6种类型之外添加了
一种新的类型
3.JS中有一个运算符叫做typeof,这个运算符可以在成语的运行阶段动态的获取
变量的数据类型。
typeof运算符的语法格式:
typerof 变量名
typeof运算符的运算结果是一下字符串之一:注意字符串都是全部小写
"undefined""number""string""boolean""object""function"
在JS中做比较全部用==
​
function sum(a,b){
if(typeof a =="number" && typeof b =="number"){
return a+b;
}
alert(a+","+b+"必须为数字")
}
-->
​
<!--
null NaN undefined这三个值有什么区别
在JS中有两个比较特殊的运算符
==(等同运算符,只判断值是否相等)
===(全等运算符:即判断值是否相等,又判断数据类型是否相等)
​
-->
<script type = "text/javascript">

</script>
</body>
</html>

JS中的数据类型

<!doctype html>
<html>
<head>
<title>JS中的数据类型</title>
</head>
<body>
<!--
JS中的事件:
1.Blur失去焦点
2.change下拉列表选中项改变,或文本框内容改变
3.click鼠标单击
4.dblclick鼠标双击
5.focus获得焦点
6.keydown键盘按下
7.keyup键盘弹起
8.load页面加载完毕
9.mousedown鼠标按下
10.mouseover鼠标经过
11.mousemove鼠标移动
12.mouseout鼠标离开
13.mouseup鼠标弹起
14.reset表单重置
15.select文本被选定
16.submit表单提交
-->
<!--
JS运算符之void
-->
<!--
控制语句
-->
<script type = "text/javascript">
window.onload = function(){
document getElementById("username").onkeydown = function(a){
if(a.keycode === 14){
slert("正在验证")
}
}
}
<a href ="javacript:void(0)" onclick="window.alert('test code')" ></a>
​
</script>
</body>
</html>

DOM编程-获取文本框的value

<!doctype html>
<html>
<head>
<title>DOM编程-获取文本框的value</title>
</head>
<body >
<!--
JavaScript包括三大块:
ECMAScript:JS的核心语法(ES规范/ECMA-262标准)
DOM:Document Object Model(文档对象模型:对网页当中的节点进行增删改的过程。)
HTML文档被当做一颗DOM树来对待。
var domObj = document.getElementById("id");
BOM:Browser Object Model(游览器对象模型)
关闭游览器窗口,打开一个新的游览器窗口,后退,前进,游览器地址栏上的地址
等,都是BOM编程
DOM和BOM的区别和联系?
BOM的顶级对象是:window
DOM的顶级对象是:document
实际上BOM是包括DOM的!

-->
<script type = "text/javascript">
​
​
window.onload = function(){
document.getElementById("bth").onclick = function(){
alert(document.getElementById("username").value)

}


}
window.onload = function(){
document.getElementById("pth").onclick = function(){
document.getElementById("username2").value=document.getElementById("username1").value
}

}
​
</script>
<input type ="text" id="username"/>

<input type = "button" value="获取文本框的" id="bth"/>


<hr>

<input type = "text" id = "username1"/>
<input type = "text" id = "username2"/>
<input type = "button" value="按钮" id="pth" />
</body>
</html>

DOM编程-innerHTML和innerText操作div和Span

<!doctype html>
<html>
<head>
<title>DOM编程-innerHTML和innerText操作div和Span</title>
<style type = "text/css">
</style>
</head>
<body >
<!--
innerText和innerHTML属性有什么区别?
相同点:都是设置元素内部的内容。
不同点:
innerHTML会把后面的“字符串”当做一段HTML代码解释并执行。
innerText,即使后面是一段HTML代码,也只是将其当做普通的字符串来看待
-->
<script type = "text/javascript">
window.onload = function(){
document.getElementById("bth").onclick = function(){
document.getElementById("div1").innerHTML = "zxdc";
//document.getElementById("div1").innerText = "zxdc"
}
}
</script>
<input type = "button" value="按钮" id="bth"/>


<div id="div1">
</div>
</script>
</body>
</html>

DOM编程-关于正则表达式

<!doctype html>
<html>
<head>
<title>DOM编程-关于正则表达式</title>

</style>
</head>
<body >
<script type = "text/javascript">
/*
1.什么是正则表达式,有什么用
正则表达式:Regular Expression
正则表达式主要用于字符串格式匹配方面
2.正则表达式实际上是一门独立的学科:在Java语言中支持,C语言中也支持,javascript中也支持。大部分编程语言都支持正则表达式。目前使用最多的是计算机编程领域,用作字符串格式匹配,包括搜索方面等。
3.正则表达式,对于我们javascript编程来说,掌握哪些内容
1.常见的正则表达式符号要认识。
2.简单的正则表达式要会写
3.他人编写的正则表达式要看懂
4.在javascript当中,怎么创建正则表达式对象
5.在javascript当中,正则表达式对象有哪些方法
6.要能够快速的从网络上找到自己需要的正则表达式。并且测试其有效性
4.常见的正则表达式符号?
. 匹配除换行符意外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
​
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m此

\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配出了aeiou这几个字母以外的任意字符
​
5.简单的正则表达式要会写
QQ号的正则表达式:^[1-9][0-9]{4,}$
7.怎么穿件正则表达式对象
第一种创建方式:
var reExp = /正则表达式/flags;
第二种创建方式:使用内置支持类RegExp
var regExp = new RegExp("正则表达式",flags);
关于flags:
g:全局匹配
i:忽略大小写
m:多行搜索
正则表达式对象的test()方法?
true/false正则表达式对象.test(用户填写的字符串);
true:字符串格式匹配失败;
false:匹配失败
*/
window.onload = function(){
document.getElementById("bth").onclick = function(){
var email = document.getElementById("email").value;
var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var ok = emailRegExp.test(email);
if(!ok){
document.getElementById("error").innerText="邮箱地址不合法";
}
}
document.getElementById("email").onfocus = function(){
document.getElementById("error").innerText = "";
}

}
​

</script>
<input type ="text" id ="email"/>
<span id = "error" style = "color:red;font-size:12px;"></span>
<br>
<input type ="button" value="验证邮箱" id="bth"/>
</body>
</html>

显示网页的时钟

<!doctype html>
<html>
<head>
<title>显示网页的时钟</title>

</style>
</head>
<body >
<script type = "text/javascript">
/*
关于JS中内置的支持类,Date可以用来获取时间/日期
​
*/
var nowTime = new Date();
document.write(nowTime);
document.write("<br>")
var time = nowTime.toLocaleString();
document.write(time);
​
var t = new Date();
var year = t.getFullYear();//返回年信息,以全格式返回
var month = t.getMonth();//月份:0-11
//var day = t.getDay();//焯去的一周的第几天(0-6)
var day = t.getDate();
document.write("<br>")
document.write(year+"年"+(month+1)+"月"+day+"日");
document.write("<br>");
​
//怎么获取毫秒数
//从1970年1月1日 0000000到当前系统时间的总毫秒数
//var times = t.getTime();
//document.write(times)//一般会使用毫秒数刀座时间戳(timestamp)
document.write(new Date().getTime());
</script>
<script>
var displayTime = function(){
var time = new Date();
var strTime = time.toLocaleString();
document.getElementById("timeDiv").innerHTML = strTime;
}
function start(){
sp = window.setInterval(displayTime,1000);//没一秒就不停的读
​
}
function stop(){
window.clearInterval(sp);//时间停止
}
</script>
<input type = "button" value = "显示时间" onclick = "start();"/>
<input type = "button" value = "时间停止" onclick = "stop();"/>
<div id = "timeDiv"></div>
</body>
</html>

去除字符串的前后空白

<!doctype html>
<html>
<head>
<title>去除字符串的前后空白</title>

</style>
</head>
<body >
<script type = "text/javascript">
window.onload = function(){
document.getElementById("bth").onclick = function(){
var str = document.getElementById("username").value;
var usename = str.trim();
alert("---->"+usename+"<-----")
}
}
​
</script>
<input type = "text" id="username"/>
<input type = "button" value="去除空白" id="bth" />
</body>
</html>

表单验证(主要是这个)

<!doctype html>
<html>
<head>
<title>表单验证</title>
<style type="text/css">
span{
color:red;
font-size:12px;
}
</style>
</head>
<body>
<script type="text/javascript">
window.onload = function(){
var usernameErrorSpan = document.getElementById("usernameError");
var usernameElt = document.getElementById("username")
usernameElt.onblur = function(){
var username = usernameElt.value;
username = username.trim();
if(username){
if(username.length < 6 || username.length > 14){
usernameErrorSpan.innerText="用户名长度在【6-14】位之间"
}else{
var regExp = /^[A-Za-z0-9]+$/;
var ok =regExp.test(username);
if(!ok){
usernameErrorSpan.innerText = "用户名只能由数字和字母组成";
}
}
}else {
usernameErrorSpan.innerText = "用户名不能为空";
}
}
usernameElt.onfocus=function(){
if(usernameErrorSpan.innerText !=""){
usernameElt.value = "";
}
usernameErrorSpan.innerText = "";
}
​
var userpwdErrorSpan = document.getElementById("userpwdError");
var userpwdElt = document.getElementById("userpwd");
userpwdElt.onblur = function(){
var userpwd = userpwdElt.value;
if(userpwd){
if(userpwd.length > 8){
var regExp = /^[A-Za-z0-9]+$/;
var ok =regExp.test(userpwd);
if(!ok){
userpwdErrorSpan.innerText = "密码只能由数字和字母组成"
}
}else{
userpwdErrorSpan.innerText = "密码要求8位以上"
}

}else{
userpwdErrorSpan.innerText ="密码不能为空"
}
userpwdElt.onfocus = function(){
if(userpwdErrorSpan.innerText !=""){
userpwdElt.value = "";
}
userpwdErrorSpan.innerText = "";
}
}
​
var userpwd2ErrorSpan = document.getElementById("userpwd2Error");
var userpwd2Elt = document.getElementById("userpwd2");
userpwd2Elt.onblur = function(){
var u1 = userpwdElt.value;
var u2 = userpwd2Elt.value;
if(u1 == u2){

}else{
userpwd2ErrorSpan.innerText = "请确认密码一致"
}
userpwd2Elt.onfocus = function(){
if(userpwd2ErrorSpan.innerText != ""){
userpwd2Elt.value = "";
}
userpwd2ErrorSpan.innerText = "";
}
}

var emailErrorSpan = document.getElementById("emailError")
var emailElt = document.getElementById("email");
emailElt.onblur = function(){
var email = emailElt.value;
if(email){
var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var email = emailRegExp.test(email);
if(email){

}else{
emailErrorSpan.innerText = "邮箱填写不规范"
}
}else{
emailErrorSpan.innerText = "邮箱地址必须填写"
}
emailElt.onfocus = function(){
if(emailErrorSpan.innerText != ""){
emailElt.value = "";
}
emailErrorSpan.innerText = "";
}
}
var submitBtnElt = document.getElementById("submitBtn");
submitBtn.onclick = function(){
usernameElt.focus();
usernameElt.blur();
​
userpwdElt.focus();
userpwdElt.blur();
​
emailElt.focus();
emailElt.blur();
​
userpwd2Elt.focus();
userpwd2Elt.blur();
​

if(usernameErrorSpan.innerText == ""&& userpwdErrorSpan.innerText == ""&& userpwd2ErrorSpan == ""&& emailErrorSpan.innerText == ""){
var userFormElt = document.getElementById("userform");
userFormElt.action ="http://localhost:8080/jd/save";
userFormElt.submit();

}
}
​
}

</script>
<form id = "userform" action="http://localhost:8080/jd/save" method ="get">
用户名<input type="text" name="username" id="username" /><span id="usernameError"></span><br>
密码<input type="text" name="userpwd" id="userpwd"/><span id="userpwdError"></span><br>
确认密码<input type="text" id="userpwd2"/><span id="userpwd2Error"></span></span><br>
邮箱<input type="text" name="email" id="email"/><span id="emailError"></span><br>
<input type="button" value="注册" id = "submitBtn"/>
<input type="reset" value="重置" />
</form>
</body >
​
</html>

posted @ 2020-10-09 02:46  锁猴  阅读(95)  评论(0)    收藏  举报