1.JavaScript介绍

JavaScript语言诞生主要是完成页面的数据验证,因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码。

JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为 JavaScript。
JS 是弱类型,Java 是强类

举例:
java:
int i=1;

js:
var i;
i=1;
i=‘abc’;

特点:
1.交互性(它可以做的就是信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关)

2.JavaScript后台html代码的结合方式

2.1 第一种方式

只需要在head标签中,或者body标签中,使用script标签来书写JavaScript代码

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//alert是JavaScript语言提供的一个警告框函数//他可以接受任何类型的参数,这个参数就是警告框的提示信息alert("hello javascript!");</script>
</head>
<body></body>
</html>

2.2 第二种方式

使用script标签引入单独的JavaScript代码文件

js文件中的代码

alert("hello javascript!");

html文件中的代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!--需要使用script引入外部的js文件来执行src属性专门用来因日js文件路径(可以是相对路径,也可以是绝对路径)script标签可以用来定义js代码,也可以用来引入js文件但是,两个功能二选一使用。不能同时使用两个功能--><script type="text/javascript" src="test.js"></script><script type="text/javascript">alert("hello2!");</script>
</head>
<body></body>
</html>

3.变量

变量是可以存放某些值的内存的命名

JavaScript的变量类型:
数值类型:number
字符串类型:string
对象类型:object
布尔类型:boolean
函数类型:function

JavaScript里特殊的值:
undefined 未定义,所有js变量未赋予初始值的时候,默认值都是undefined
null 空值
NAN 全程是:Not a Number。非数字,非数值

JS中定义的变量格式:
var 变量名;
var 变量名 = 值;

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">var i;// alert(i); //undefinedi = 12;// alert(i);//12// typeof()是JavaScript语言提供的一个函数//它可以取变量的数据类型返回// alert(typeof (i));//numberi = "abc";// alert(typeof (i));//stringvar a = 12;var b = "abc";alert(a * b);//NAN</script>
</head>
<body></body>
</html>

4.关系(比较)运算

等于:== 等于是简单的作字面值比较
全等于: === 除了做字面值比较外,还会比较两个变量的数据类型

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">var a = 12;var b = "12";alert(a == b);//truealert(a === b);//false</script>
</head>
<body></body>
</html>

5.逻辑运算

且运算:&&
或运算:||
取反运算:!

在JavaScript语言中,所有的变量,都可以作为一个boolean类型的变量去使用。

0、null、undefined、“”(空字符串)都是false

&&且运算
有两种情况:
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值

||或运算
第一种情况:当表达式全为假时,返回最后一个表达式的值。
第二种情况:只要有一个表达式为真,就会返回第一个为真的表达式的值。

并且&&与运算和||或运算有短路
短路就是,当&&或||运算有结果了之后。后面的表达式就不再执行

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">// var a = 0;// if(a){//     alert("零为真");// }else{//     alert("零为假");// }//// var b = null;// if(b){//     alert("null为真");// }else{//     alert("null为假");// }//// var c ;// if(c){//     alert("undefined为真");// }else{//     alert("undefined为假");// }//// var d ="";// if(d){//     alert("空串为真");// }else{//     alert("空串为假");// }var a = "abc";var b = true;var d = false;var c = null;// alert(a && b);//true// alert(b && a);//abc// alert(a && d);//false// alert(a && c);//null// alert(d && c);//falsealert(a || b);//abcalert(b || a);//truealert(a || d);//abcalert(a || c);//abcalert(d || c);//null</script>
</head>
<body></body>
</html>

6.数组(重点)

数组定义方式

JS中数组的定义:
格式:
var 数组名 = []; //控制组
var 数组名 = [1,‘abc’,true]; //定义数组同时赋值元素

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">var arr = [true,1];// alert(arr.length);//2arr[0] = 12;// alert(arr[0]);//12alert(arr.length);//2//JavaScrip语言中的数组,只要我们通过数组下标赋值,name最大的小标志,就会自动的给数组做扩容操作arr[2] = 'abc';alert(arr.length);//3arr[4] = true;alert(arr.length);//5alert(a[3]);//undefined//数组遍历for(var i = 0;i < arr.length;i++){alert(arr[i]);}</script>
</head>
<body></body>
</html>

7.函数(重点)

7.1 函数的两种定义方式

第一种,可以使用function关键字来定义函数。
使用的格式如下:
function 函数名(形参列表){
  函数体
}

在JavaScript语言中,如歌定义带有返回值的函数?
只需要在函数体内直接使用return语句返回值即可!

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//定义一个无参函数function fun(){alert("无参数fun()被调用了");}//函数调用fun();function fun2(a,b){alert("有参函数fun2()被调用了a=" + a + ",b=" + b);}fun2(true,'abc');//定义带有返回值的函数function sum(num1,num2){var result = num1 + num2;return result;}alert(sum(100,50));</script>
</head>
<body></body>
</html>

函数的第二种定义方式
使用格式如下:
var 函数名 = function(形参列表){函数体}

代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">var fun = function(){alert("无参函数");}fun();var fun2 = function(a,b){alert("有参函数a=" + a + ",b=" + b);}fun2(1,false);var fun3 = function (num1,num2){return num1 + num2;}alert(fun3(5,10));</script>
</head>
<body></body>
</html>

注:在Java中函数允许重载。但是在JS中函数的重载会直接覆盖掉上一次的定义

7.2 函数的arguments隐形参数(只在function函数内)

就是在function函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
隐形参数特别像java基础的可变长参数一样
public void fun(Object … args);
可变长参数其他是一个数组。

那么JS中的隐形参数也跟java的可变长参数一样。操作类似数组。

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">function fun(a){alert(arguments.length);alert(arguments[1]);alert("a = " + a);for(var i = 0;i < arguments.length;i++){alert(arguments[i]);}if(arguments.length==0)alert("无参函数fun()");}// fun(1,'a',true);// fun();//需求:要求编写一个函数,用于计算所有参数相加的和并返回function sum(sum1,sum2){var result = 0;for(var i = 0;i < arguments.length;i++){if(typeof (arguments[i]) == "number"){result += arguments[i];}}return result;}alert(sum(1,2,3,false,'123','abc',5));//11</script>
</head>
<body></body>
</html>

8.JS中的自定义对象(扩展内容)

Object形式的自定义对象
对象的定义:
var 变量名 = new Object(); //对象实例(空对象)
变量名.属性名 = 值; //定义一个属性
变量名.函数名 = function(){} //定义一个函数

对象的访问:
变量名.属性/函数名();

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">var obj = new Object();obj.name = "小刘";obj.age = 18;obj.fun = function (){alert("姓名:" + this.name + ",年龄:" + this.age);}alert(obj.name);obj.fun();</script>
</head>
<body></body>
</html>

{}花括号形式的自定义对象
对象的定义:
var 变量名 = { //空对象
  属性名:值, //定义一个属性
  属性名:值, //定义一个属性
  函数名:function(){} //定义一个函数
}

对象的访问:
变量名.属性/函数名();

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">var obj = {name:"小刘",age:18,fun:function(){alert("姓名:" + this.name + ",年龄:" + this.age);}}alert(obj.name);obj.fun();</script>
</head>
<body></body>
</html>

9.JS中的事件

事件是电脑输入设备与页面进行交互的响应。我们称之为事件。

常用的事件:
onload 加载完成事件:页面加载完成之后,常用做页面js代码的初始化操作
onclick 单击事件:常用于输入按钮的点击响应操作
onblur 失去焦点事件:常用于输入框失去焦点后验证其输入内容是否合法
onchange 内容发生改变事件:常用于下拉框和输入框内容发生改变后操作
onsubmit 表单提交事件:常用于表单提交前,验证所有表单项是否合法

事件的注册又分为静态注册和动态注册两种
事件的注册(绑定)就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。

静态注册事件:通过html标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。

动态注册事件:是指先通过js代码得到标签的dom对象,然后在通过dom对象.事件名 = function(){}这种形式赋于事件响应后的代码,叫动态注册。

动态注册基本步骤:
1.获取标签对象
2.标签对象.事件名 = function(){}

onload加载完成事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//onload事件的方法function onloadFun(){alert("静态注册onload时间,所有代码");}//onload时间动态注册。固定写法window.onload = function(){alert("动态注册的onload时间");}</script>
</head>
<!--
静态注册onload时间
onload时间是浏览器解析完页面之后就会自动触发的时间
<body οnlοad="onloadFun();">
-->
<body>
<!--<body οnlοad="onloadFun();">--></body>
</html>

onclick单击事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">function onclickFun(){alert("静态注册onclick事件");}//动态注册onclick事件window.onclick = function() {//1.获取标签对象/** document 是JavaScript语言提供的一个对象(文档)* get   获取* Element   元素(就是标签)* By    通过.. 经..由..* ID    id属性** getElementById 通过id属性获取标签对象* */var btnObj = document.getElementById("btn01");// alert(btnObj);//2.通过标签对象.事件名 = function(){}btnObj.onclick = function () {alert("动态注册的onclick事件");}}</script>
</head>
<body><!-- 静态注册侧onClick事件 --><button onclick="onclickFun();">按钮1</button><button id="btn01">按钮2</button>
</body>
</html>

onblur失去焦点事件
运行后按F12,接着打开console来观察

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//静态注册失去焦点事件function onblurFun(){//console 是控制台对象,是由JavaScript语言提供,专门用来想浏览器打印输出,用于测试使用//log()打印的方法console.log("静态注册失去焦点事件");}//动态注册onblur事件window.onload = function(){//1.获取标签对象var passwordObj = document.getElementById("password");// alert(passwordObj);//2.通过标签对象.事件名 = function(){};passwordObj.onblur = function(){console.log("动态注册失去焦点事件");}}</script>
</head>
<body>用户名:<input type="text" onblur="onblurFun();"><br/>密码:<input id="password" type="text"><br/>
</body>
</html>

onchange内容发生改变事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">function onchangeFun(){alert("女神发生改变");}window.onload = function(){//1.获取标签对象var selObj = document.getElementById("sel01");//alert(selObj);//2.通过标签对象.事件 = function(){}selObj.onchange = function(){alert("男神已经改变");}}</script>
</head>
<body>请选择你心中的女神:<!-- 静态注册onchange事件 --><select onchange="onchangeFun()"><option>--女神--</option><option>芳芳</option><option>佳佳</option><option>娘娘</option></select>请选择你心中的男神:<select id="sel01"><option>--男神--</option><option>老王</option><option>华仔</option><option>富成</option></select>
</body>
</html>

onsubmit表单提交事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//静态注册表单提交事务function onsubmitFun(){//要验证所有表单项是否合法。如果有一个不合法就阻止表单提交alert("静态注册表单提交事件——发现不合法");return false;}//动态注册表单提交事务window.onload = function(){//1.获取标签对象var formObj = document.getElementById("form01");//2.通过标签对象.事件名 = function(){}formObj.onsubmit = function (){//要验证所有表单项是否合法,如果有一个不合法就住址表单提交alert("动态注册表单提交事件——发现不合法");return false;}}</script>
</head>
<body><!-- return false可以阻止表单提交 --><form action="http://localhost:8080" method="get" onsubmit="return onsubmitFun()"><input type="submit" value="静态注册"/></form><form action="http://localhost:8080" id="form01"><input type="submit" value="动态注册"/></form>
</body>
</html>

10.DOM模型

DOM全程是Document Object Model文档对象模型

就是文档中的标签,属性,文本,转换成对象来管理

10.1 Document对象(重点)

Document对象的理解
1.Document它管理了所有的HTML文档内容
2.Document它是一种树结构的文档。有层级关系
3.它让我们把所有的标签都对象化
4.我们可以通过Document访问所有的标签对象

对象化
举例:
将一个具体的人对象化为:

Class Person{private int age;private String sex;private String name;
}

HTML标签对象化

<body><div id="div01">div1</div>
</body>

模拟对象化,相当于:

class Dom{private String id; //id属性private String tagName; //表示标签名private Dom parentNode; //父亲private List<Dom> children; //孩子节点private String innerHTML; //其实标签和结束标签中间的内容
}

10.2 Document对象中的方法介绍(重点)

document.getElementById(elementId)
通过标签的id属性查找标签的dom对象,elementId是标签的id属性值

document.getElementsByName(elementName)
通过标签的name属性查找标签dom对象,elementName标签的name属性值

document.getElementsByTagName(tagname)
通过标签名查找标签dom对象。tagname是标签名

document.createElement(tagName)
通过给定的标签名,创建一个标签对象。tagName是要创建的标签名

注:
document对象的三个查询方法,如有id属性,有限使用getElementById方法来进行查询
如果没有id属性,则有限使用getElementsByName方法来进行查询
如果id属性和name属性都没有最后再按标签名查getElementsByTagName
以上三个方法一定要在页面加载完成之后执行,才能查询到标签对象

getElementById方法代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">/** 需求:当用户点击校验按钮,要获取输出框中的内容。然后验证其是否合法。* 验证的规则是:必须由字母,数字,下划线组成,并且长度是5-12位。* */function onclickFun(){//1.当我们要操作一个标签的时候,一定要先获取这个标签的对象。var usernameObj = document.getElementById("username");// alert(usernameObj);//[object HTMLInputElement]就是dom对象var usernameText = usernameObj.value;//如果验证字符串符合某个规则,需要使用正则表达式技术// alert(usernameText);var patt = /^\w{5,12}$/;/** test()方法用于测试某个字符串是不是匹配我们的规则* 匹配就返回true,不匹配就返回false* */var usernameSpanObj = document.getElementById("usernameSpan");//innerHTML 表示其实标签和结束标签的内容//innerHTML 这个属性可读可写usernameSpanObj.innerHTML = "阿巴阿巴";if(patt.test(usernameText)){alert("用户名合法!");// usernameSpanObj.innerHTML = "用户名合法!";usernameSpanObj.innerHTML = "<img src=\"right.png\" width=\"18\" height=\"18\">";}else{alert("用户名不合法!");// usernameSpanObj.innerHTML = "用户名不合法!";usernameSpanObj.innerHTML = "<img src=\"wrong.png\" width=\"18\" height=\"18\">";}}</script>
</head>
<body>用户名:<input type="text" id="username" value="默认值"/><span id="usernameSpan" style="color:red"></span><button onclick="onclickFun()">校验</button>
</body>
</html>

getElementsByName方法代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//全选function checkALL(){//让所有复选框都选中//document.getElementsByName();是根据指定的name属性查询返回多个标签对象集合//这个集合的操作跟数组一样//集合汇总每个元素都是dom对象//这个集合中的元素顺序是他们在html页面中从上到下的顺序var hobbies = document.getElementsByName("hobby");//checked表示复选框大的选中状态。如果选中是true,否则false//checked这个属性可读可写for(var i = 0;i < hobbies.length;i++){hobbies[i].checked = true;}}//全不选function checkNo(){var hobbies = document.getElementsByName("hobby");for(var i = 0;i < hobbies.length;i++){hobbies[i].checked = false;}}//反选function checkReverse(){var hobbies = document.getElementsByName("hobby");for(var i = 0;i < hobbies.length;i++){hobbies[i].checked = !hobbies[i].checked;}}</script>
</head>
<body>兴趣爱好:<input type="checkbox" name="hobby" value="cpp" checked="checked">C++<input type="checkbox" name="hobby" value="java">java<input type="checkbox" name="hobby" value="js">JavaScript<br><button onclick="checkALL()">全选</button><button onclick="checkNo()">全不选</button><button onclick="checkReverse()">反选</button>
</body>
</html>

getElementsByTagName方法代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//全选function checkALL(){//document.getElementsByTagName();//是按照指定标签名来进行查询并返回集合//这个集合的操作跟数组一样//集合中每个元素都是dom对象//这个集合中的元素顺序是他们在html页面中从上到下的循序var inputs = document.getElementsByTagName("input");for(var i = 0;i < inputs.length;i++){inputs[i].checked = true;}}</script>
</head>
<body>兴趣爱好:<input type="checkbox" value="cpp" checked="checked">C++<input type="checkbox" value="java">java<input type="checkbox" value="js">JavaScript<br><button onclick="checkALL()">全选</button>
</body>
</html>

createElement方法代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">window.onload = function (){//现在需要我们使用js代码来创建html标签,并显示在页面上//标签的内部就是:<div>阿巴阿巴</div>var divObj = document.createElement("div");//在内存中<div></div>var textNodeObj = document.createTextNode("阿巴阿巴");//有一个文本节点对象 #阿巴阿巴// divObj.appendChild(textNodeObj);//<div>阿巴阿巴</div>divObj.innerHTML = "阿巴阿巴";//<div>阿巴阿巴</div>,但是还只是在内存中//添加子元素document.body.appendChild(divObj);}</script>
</head>
<body></body>
</html>

10.3 节点的常用属性和方法

节点就是标签对象

方法:
通过具体的元素节点调用
getElementsByTagName()
获取当前节点的指定标签名孩子节点

appendChild(oChildNode)
可以添加一个子节点,oChildNode是添加的孩子节点

属性:
childNodes:获取当前节点的所有子节点
firstChild:获取当前节点的第一个子节点
lastChild:获取当前节点的最后一个子节点
parentNode:获取当前节点的父节点
nextSibling:获取当前节点的下一个节点
previousSibling:获取当前节点的上一个节点
className:获取/设置标签的class属性值
innerHTML:表示获取/设置起始标签和结束标签中的内容
innerText:表示获取/设置起始标签和结束标签中的文本

练习:DOM查询

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">window.onload = function(){//1.查找#bj节点document.getElementById("btn01").onclick = function(){var bjObj = document.getElementById("bj");alert(bjObj.innerHTML);}//2.查找所有li节点var btn02Ele = document.getElementById("btn02");btn02Ele.onclick = function(){var lis = document.getElementsByTagName("li");alert(lis.length);}//3.查找name=gender的所有节点var btn03Ele = document.getElementById("btn03");btn03Ele.onclick = function(){var genders = document.getElementsByName("gender");alert(genders.length);}//4.查找#city下的所有li节点var btn04Ele = document.getElementById("btn04");btn04Ele.onclick = function(){//1 获取id为city的节点//2 通过city节点.getElementsByTagName按标签名查子节点var lis = document.getElementById("city").getElementsByTagName("li");alert(lis.length);}//5.返回#city的所有子节点var btn05Ele = document.getElementById("btn05");btn05Ele.onclick = function(){//1 获取id为city的节点//2 通过city获取所有子节点alert(document.getElementById("city").childNodes.length);}//6.返回#phone的第一个子节点var btn06Ele = document.getElementById("btn06");btn06Ele.onclick = function(){// 查询id为phone的节点alert(document.getElementById("phone").firstChild.innerHTML);}//7.返回#bj的父节点var btn07Ele = document.getElementById("btn07");btn07Ele.onclick = function(){//1 查询id为bj的节点var bjObj = document.getElementById("bj");//2 bj节点获取父节点alert(bjObj.parentNode.innerHTML);}//8.返回#android的前一个兄弟节点var btn08Ele = document.getElementById("btn08");btn08Ele.onclick = function(){// 获取id为android的节点// 通过android节点获取前面兄弟节点alert(document.getElementById("android").previousSibling.innerHTML);}//9.返回#username的value属性值var btn09Ele = document.getElementById("btn09");btn09Ele.onclick = function(){alert(document.getElementById("username").value);}//10.设置#username的value属性值var btn10Ele = document.getElementById("btn10");btn10Ele.onclick = function(){document.getElementById("username").value = "abaaba";}//11.返回#bj的文本值var btn11Ele = document.getElementById("btn11");btn11Ele.onclick = function(){// alert(document.getElementById("city").innerHTML);alert(document.getElementById("city").innerText);}}</script>
</head>
<body>
<div id="total"><div class="inner"><p>你喜欢哪个城市?</p><ul id="city"><li id="bj">北京</li><li>上海</li><li>东京</li><li>首尔</li></ul><br><br><p>你喜欢哪款单机游戏?</p><ul id="game"><li id="rl">红警</li><li>实况</li><li>极品飞车</li><li>魔兽</li></ul><br><br><p>你手机的操作系统是?</p><ul id="phone"><li >IOS</li><li id="android">Android</li><li>Windows Phone</li></ul></div><div class="inner">gender:<input type="radio" name="gender" value="male"/>male<input type="radio" name="gender" value="female">Female<br><br>name:<input type="text" name="name" id="username" value="abcde"/></div>
</div><div id="btnList"><div><button id="btn01">查找#bj节点</button> </div><div><button id="btn02">查找所有li节点</button> </div><div><button id="btn03">查找name=gender的所有节点</button> </div><div><button id="btn04">查找#city下的所有li节点</button> </div><div><button id="btn05">返回#city的所有子节点</button> </div><div><button id="btn06">返回#phone的第一个子节点</button> </div><div><button id="btn07">返回#bj的父节点</button> </div><div><button id="btn08">返回#android的前一个兄弟节点</button> </div><div><button id="btn09">返回#username的value属性值</button> </div><div><button id="btn10">设置#username的value属性值</button> </div><div><button id="btn11">返回#bj的文本值</button> </div>
</div>
</body>
</html>

2.Java Web之JavaScript相关推荐

  1. java web之javascript(js)解析

    java web javascript(js): javascript(js):     js嵌入在html中,在浏览器中运行的脚本语言     js跟java没有任何关系,只是语法相似     是一 ...

  2. Java Web(1)-JavaScript

    只需要在 head 标签中,或者在 body 标签中, 使用 script 标签 来书写 JavaScript 代码 <!DOCTYPE html> <html lang=" ...

  3. 3.Java Web之JavaScript实战

    导入代码(链接:https://pan.baidu.com/s/17v_dnXJTmo7QvFm-H58vaA 提取码:71wk) 1.JavaScrip实战1 鼠标悬浮和离开的效果设置 1)当鼠标悬 ...

  4. Java中用JS那些_java web中javascript主要用哪些?

    java web中javascript主要用途是在页面上完成特定按钮的事件功能并且实现前后台交互. JavaScript 是一种跨平台,面向对象的脚本语言.作为一种小巧且轻量级的语言,JavaScri ...

  5. app登录界面背景 css_计算机毕业设计中Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)...

    点击上方"蓝字",关注我们. 本文利用MyBatis+jsp+servlet+html+css+javascript实现了一个简单的登录页面.对用户输入的用户名和密码就行校验,校验 ...

  6. Java web实验购物网站(IDEA开发环境,JavaScript,JSP,Servlet,MySql等)——实现购物车

    后面有资源包 Java web实验购物网站 实验要求 实验开发工具及使用技术 准备工作 完整项目目录结构 实验结果展示 实验步骤 小结 项目完整代码及数据库.SQL文件 实验要求 掌握静态HTML, ...

  7. Java web实验购物网站(IDEA开发环境,JavaScript,JSP,Servlet,jQuery,Ajax,MySql等)——实现购物车

    Java web实验购物网站 实验要求 实验开发工具及使用技术 准备工作 完整项目目录结构 实验结果展示 实验步骤 小结 项目完整代码及数据库.SQL文件 自学网站 2021.05.25补充 实验要求 ...

  8. java web程序示例_想要建立一些有趣的东西吗? 这是示例Web应用程序创意的列表。...

    java web程序示例 Interested in learning JavaScript? Get my ebook at jshandbook.com 有兴趣学习JavaScript吗? 在js ...

  9. java web开发初学_2018年学习Web开发的绝对初学者指南

    java web开发初学 This post was originally published on Coder-Coder.com. 该帖子最初发布在Coder-Coder.com上 . If yo ...

最新文章

  1. java rsa数字签名_RSA 数字签名算法(Java版)
  2. error nr.1045 access denied for user 'root'@'localhost' (using passwd:no)
  3. 1.Rabbitmq学习记录《本质介绍,协议AMQP分析》
  4. [css] 说说你对line-height是如何理解的?
  5. 前端学习(1346):用户的增删改查操作3增加
  6. 前端开发一些很有用的工具
  7. z370支持pcie信号拆分吗_定了!AMD B550主板确认将支持PCIE4.0,多项能力接近X570
  8. 终端实体店消费者喜爱的营销方式
  9. 13个坏习惯让IT工作者中过劳(转)
  10. UltraEdit v17.10.0,注册机,注册码
  11. 札记:Fragment基础
  12. 项目初期不同职位的人如何沟通?以及沟通的效率
  13. python实现二十四点
  14. Java 实现加减乘除
  15. 通讯录管理系统(C++)
  16. tomcat服务器能在哪打开网页,安装Tomcat服务器后无法打开http://localhost:8080网页怎么办-电脑自学网...
  17. Altium Designer 的技巧补充
  18. 图解Linux命令之--hwclock命令
  19. dellr420部署os_戴尔dell poweredge r730服务器系统安装配置详解教程
  20. 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法

热门文章

  1. 治鼻炎,背后有痘痘,祛异味,……好多好多偏方……!
  2. Ibus增加搜狗词库
  3. Vue 前端下载 Excel
  4. 怎样使用Python导入.txt的文本文件
  5. Python改变图片EXIF信息(修复图片上传后方向改变的BUG)
  6. Android中定位经纬度问题
  7. 计算机网络上机座次表
  8. 大学模拟计算机组装作业,《计算机组装和维修》作业.docx
  9. 颜色可变的剪影效果 Shader
  10. unity制作简易播放器