1. JavaScript 介绍

        Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。
        JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为 JavaScript。

        JavaScript 是属于网络的脚本语言!

        JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。

        JavaScript 是因特网上最流行的脚本语言。

        JavaScript 很容易使用!

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

2. JavaScript 和 html 代码的结合方式

2.1 第一种方式

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

如何把 JavaScript 放入 HTML 页面

<html>
<body>
<script type="text/javascript">
document.write("Hello World!");
</script>
</body>
</html>

上面的代码会在 HTML 页面中产生这样的输出:

Hello World! 

实例解释:

 如果需要把一段 JavaScript 插入 HTML 页面,我们需要使用 <script> 标签(同时使用 type 属性来定义脚本语言)。

        这样,<script type="text/javascript"> 和 </script> 就可以告诉浏览器 JavaScript 从何处开始,到何处结束。

<html>
<body>
<script type="text/javascript">
...
</script></body>
</html>

        document.write 字段是标准的 JavaScript 命令,用来向页面写入输出。

把 document.write 命令输入到 <script type="text/javascript">与</script>之间后,浏览器就会把它当作一条 JavaScript 命令来执行。这样浏览器就会向页面写入 "Hello World!"。

<html>
<body>
<script type="text/javascript">
document.write("Hello World!");
</script>
</body>
</html>

注意:如果我们不使用 <script> 标签,浏览器就会把 document.write("Hello World!") 当作纯文本来处理,也就是说会把这条命令本身写到页面上。

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>1-js与html结合方式1</title><script type="text/javascript">alert("alert是javaScript语言提供的一个警告框函数。" +"它可以接收任意类型的参数,这个参数就是警告框的提示信息");</script>
</head>
<body>
</body>
</html>

2.2 第二种方式

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

使用外部 JavaScript

有时,你也许希望在若干个页面中运行 JavaScript,同时不在每个页面中写相同的脚本。

为了达到这个目的,你可以将 JavaScript 写入一个外部文件之中。然后以 .js 为后缀保存这个文件。

注意:外部文件不能包含 <script> 标签。

然后把 .js 文件指定给 <script> 标签中的 "src" 属性,就可以使用这个外部文件了:

<html>
<head>
<script src="xxx.js">....</script></head>
<body>
</body>
</html>

提示:您可以把 .js 文件放到网站目录中通常存放脚本的子目录中,这样更容易管理和维护。

注意: script 标签可以用来定义 js 代码,也可以用来引入 js 文件 .但是,两个功能二选一使用。不能同时使用两个功能

代码示例:

js代码:

alert("hello word");

html代码:

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

3.JavaScript 语句

JavaScript 语句

JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。


3.1 JavaScript 语句

JavaScript 语句是发给浏览器的命令。

这些命令的作用是告诉浏览器要做的事情。

下面的 JavaScript 语句向 id="demo" 的 HTML 元素输出文本 "Hello Dolly"

document.getElementById("demo").innerHTML="Hello Dolly";


3.2 分号 ;

分号用于分隔 JavaScript 语句。

通常我们在每条可执行的语句结尾添加分号。

使用分号的另一用处是在一行中编写多条语句。

提示:您也可能看到不带有分号的案例。

在 JavaScript 中,用分号来结束语句是可选的。


3.3 JavaScript 代码

JavaScript 代码是 JavaScript 语句的序列。

浏览器按照编写顺序依次执行每条语句。

本例向网页输出一个标题和两个段落:

实例

document.getElementById("demo").innerHTML="Hello Dolly";
document.getElementById("myDIV").innerHTML="How are you?";


3.4 JavaScript 代码块

JavaScript 可以分批地组合起来。

        代码块以左花括号开始,以右花括号结束。

        代码块的作用是一并地执行语句序列。

本例向网页输出一个标题和两个段落:

实例

function myFunction()
{
document.getElementById("demo").innerHTML="Hello Dolly";
document.getElementById("myDIV").innerHTML="How are you?";
}


3.5 JavaScript 对大小写敏感。

 JavaScript 对大小写是敏感的。

当编写 JavaScript 语句时,请留意是否关闭大小写切换键。

函数 getElementById 与 getElementbyID 是不同的。

同样,变量 myVariable 与 MyVariable 也是不同的。


3.6 空格

JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。下面的两行代码是等效的:

var person="Hege";
var person = "Hege";


3.7 JavaScript 注释

注释作用

1.JavaScript 不会执行注释。

2.我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。

JavaScript 单行注释

单行注释以 // 开头。

实例

// Write to a heading:
document.getElementById("myH1").innerHTML="Welcome to my Homepage";
// Write to a paragraph:
document.getElementById("myP").innerHTML="This is my first paragraph.";


JavaScript 多行注释

 多行注释以 /* 开始,以 */ 结尾。

实例

/*
The code below will write
to a heading and to a paragraph,
and will represent the start of
my homepage:
*/
document.getElementById("myH1").innerHTML="Welcome to my Homepage";
document.getElementById("myP").innerHTML="This is my first paragraph.";

4. JavaScript 变量

4.1 变量名称规则

正如代数一样,JavaScript 变量用于保存值或表达式。

可以给变量起一个简短名称,比如 x,或者更有描述性的名称,比如 length

JavaScript 变量也可以保存文本值,比如 carname="Volvo"

JavaScript 变量名称的规则:

  • 变量对大小写敏感(yY 是两个不同的变量)
  • 变量必须以字母或下划线开始

注释:由于 JavaScript 对大小写敏感,变量名也对大小写敏感。

4.2 声明(创建) JavaScript 变量

在 JavaScript 中创建变量经常被称为“声明”变量。

通过 var 语句来声明 JavaScript 变量:

        var x;var carname;

在以上声明之后,变量并没有值,不过您可以在声明它们时向变量赋值:

        var x=5;var carname="Volvo";

注释:在为变量赋文本值时,请为该值加引号。

5.数据类型

JavaScript 的变量类型:
数值类型:         number      只要是数值的都是
字符串类型:         string      ' ' 或 " "的内容
对象类型:         object  
布尔类型:         boolean         只含有true和false
函数类型:         function
JavaScript 里特殊的值:
undefined         未定义,所有 js 变量未赋于初始值的时候,默认值都是 undefined.
null                  空值
NaN                 全称是:Not a Number。非数字。非数值。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>3-js变量与数据类型</title><script type="text/javascript">var i; //声明变量ialert(i); //undefined 未定义i = 11; //给变量i赋值alert(i); //11//typeof()是 JavaScript 语言提供的一个函数。// 它可以返回一个变量的数据类型alert(typeof(i)); // numberi = null;//alert(typeof(i)); //objectalert(i); //nullvar a = 12;var b = "abc";alert(a*b); //NaN</script>
</head>
<body>
</body>
</html>

6.运算符

6.1 JavaScript 算术运算符

算术运算符用于执行变量与/或值之间的算术运算。

给定 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

6.2 JavaScript 赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

给定 x=10y=5,下面的表格解释了赋值运算符:

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

6.3 比较运算符

比较运算符在逻辑语句中使用,以测定变量或值是否相等。

给定 x=5,下面的表格解释了比较运算符:

运算符 描述 例子
== 等于 x==8 为 false
=== 全等(值和类型) x===5 为 true;x==="5" 为 false
!= 不等于 x!=8 为 true
> 大于 x>8 为 false
< 小于 x<8 为 true
>= 大于或等于 x>=8 为 false
<= 小于或等于 x<=8 为 true
等于: == 等于是简单的做字面值的比较
全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>4-运算符</title><script type="text/javascript">var a = 11;var b = "11";alert(a == b); //truealert(a === b); //false</script>
</head>
<body>
</body>
</html>

6.4 逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑。

给定 x=6 以及 y=3,下表解释了逻辑运算符:

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

注意:

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

0 、null、 undefined、””(空串) 都认为是 false;
    2.&& 且运算。

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

        第一种情况:当表达式全为假时,返回最后一个表达式的值
        第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值
        4.且 && 与运算 和 ||或运算 有短路。

        短路就是说,当这个&&或||运算有结果了之后 。后面的表达式不再执行

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>4-运算符</title><script type="text/javascript">// 比较运算符// var a = 11;// var b = "11";// alert(a == b); //true// alert(a === b); //false// 逻辑运算符//1.在 JavaScript 语言中,所有的变量,都可以做为一个 boolean 类型的变量去使用。//0 、null、 undefined、””(空串) 都认为是 false;其余都为真// var a1 = 0;// if (a1) {//     alert("0为真");// } else {//     alert("0为假");// }//0为假//// var b1 = null;// if (b1) {//     alert("null为真");// } else {//     alert("null为假");// }//null为假// var c1 = "abc";// if (c1) {//     alert("abc为真");// } else {//     alert("abc为假");// }//abc为真//2.&& 且运算。//有两种情况://第一种:当表达式全为真的时候。返回最后一个表达式的值。//第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值var aa = "abc";var bb = true;var dd = false;var cc = null;// alert(aa && bb); //true// alert(bb && aa); //abc// alert(aa && dd); //false// alert(aa && cc); //null// alert(aa && dd && cc);//false//3. || 或运算 第一种情况:// 当表达式全为假时,返回最后一个表达式的值 第二种情况:// 只要有一个表达式为真。就会把回第一个为真的表达式的值alert(dd || cc); // nullalert(cc || dd); //falsealert(aa || cc); //abcalert(bb || cc); //true</script>
</head>
<body>
</body>
</html>

6.5 条件运算符

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。

语法

variablename=(condition)?value1:value2 

例子

greeting=(visitor=="PRES")?"Dear President ":"Dear ";

7. 数组

创建数组

        方式1:

下面的代码创建名为 cars 的数

var cars=new Array(); //创建数组
        cars[0]="Saab"; // 给数组赋值
        cars[1]="Volvo";
        cars[2]="BMW";

 var cars=new Array("Saab","Volvo","BMW"); // 创建数组并赋上初始值

方式2 :

        var 数组名 = []; // 空数组

        var 数组名 = [1 , ’abc’ , true]; // 定义数组同时赋值元素

     

注意:javaScript 语言中的数组,只要我们通过数组下标赋值,那么最大的下标值,就会自动的给数组做扩容操作。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>5-数组</title><script type="text/javascript">var arr1 = new Array();arr1[0] = 11;arr1[2] = "abc";// alert(arr1.length); //3// alert(arr1[0]); //11// alert(arr1[1]); //undefined// alert(arr1[2]); //abcvar arr2 = [1,true,"cba"];arr2[5] = null;alert(arr2.length); //6//遍历数组for (var i = 0; i < arr2.length; i++) {alert(arr2[i]);} // 1 ture cba undefined undefined null</script>
</head>
<body></body>
</html>

8. 函数

8.1 函数的定义方式

8.1.1 使用 function 关键字来定义函数。

使用的格式如下:
        function 函数名(形参列表){
                函数体
        }
在 JavaScript 语言中,如何定义带有返回值的函数?
只需要在函数体内直接使用 return 语句返回值即可!

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>6-使用 function 关键字来定义函数</title><script type="text/javascript">// 定义一个无参函数function fun1() {alert("无参函数被调用了!!!")}// 调用函数fun1(); //无参函数被调用了!!!// 定义一个有参函数function fun2(a, b) {alert("有参函数被调用了,a=" + a + ",b=" + b);}//调用函数fun2(2, true); //有参函数被调用了,a=2,b=true// 定义一个具有返回值的函数,直接在函数体里写上return语句function fun3(a) {return "有返回值的函数被调用了,a=" + a;}alert(fun3("hahaha"));//有返回值的函数被调用了,a=hahaha</script>
</head>
<body></body>
</html>

8.1.2 使用var关键字来定义函数

使用格式如下:
var 函数名 = function(形参列表) {
         函数体
};

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>7-使用var关键字来定义函数</title><script type="text/javascript">//定义无参函数var fun1 = function () {alert("无参函数");};//调用函数fun1();//无参函数//定义有参函数var fun2 = function (a, b, c) {alert("这是一个有参函数,a=" + a + ",b=" + ",c=" + c);};//调用函数fun2(11, "aa", true);//这是一个有参函数,a=11,b=,c=true//定义一个有返回值的函数var fun3 = function (a) {return "我是一个有返回值的函数且a = " + a;};alert(fun3(fun1()))// 无参函数// 我是一个有返回值的函数且a = undefined</script>
</head>
<body></body>
</html>

8.2 JavaScript函数不能重载

在 Java 中函数允许重载。但是在 JS 中函数的重载会直接覆盖掉上一次的定义。(但也有特例)
代码示例:
<script type="text/javascript">function fun(a, b) {alert("我是有参函数,a=" + a + ",b=" + b);};function fun() {alert("我是无参函数...");}fun(); //我是无参函数...</script>
 <script type="text/javascript">function fun(){alert("我是无参函数...");}var fun = function (a, b) {alert("我是有参函数,a=" + a + ",b=" + b);};fun();//我是有参函数,a=undefined,b=undefined</script>
<script type="text/javascript">var fun = function (a, b) {alert("我是有参函数,a=" + a + ",b=" + b);};function fun(){alert("我是无参函数...");}fun();//我是有参函数,a=undefined,b=undefined</script>

特例:

<script type="text/javascript">var fun = function (a, b) {alert("我是有参函数,a=" + a + ",b=" + b);};function fun(){alert("我是无参函数...");}fun();//我是有参函数,a=undefined,b=undefined
</script>

1.变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。

2.JavaScript初始化不会提升。

这里var fun中fun变量相当于初始化,不会被提升

而function fun中fun会被提升

所以在程序预编译时,其顺序应该如下:

<script type="text/javascript">function fun(){alert("我是无参函数...");}var fun = function (a, b) {alert("我是有参函数,a=" + a + ",b=" + b);};fun();
</script>

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

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

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>9-函数的 arguments 隐形参数</title>
</head>
<body>
<script type="text/javascript">function fun(a) {document.write(a); //document.write 字段是标准的 JavaScript 命令,用来向页面写入输出。//arguments为参数数组for (var i = 0; i < arguments.length; i++) {document.write(arguments[i]);}}fun(1);//11fun(1, null, 3); //11null3fun(0, 2 * "a", "aba", "aaa", false); //00NaNabaaaafalse// 需求:要求 编写 一个函数。用于计算所有参数相加的和并返回function sum(num1, num2) {var result = 0;for (var i = 0; i < arguments.length; i++) {if(typeof(arguments[i]) == "number")result += arguments[i];}return result;}alert(sum(1,5,9,5,1)); //21</script>
</body>
</html>

9. JS 中的自定义对象

9.1 Object 形式的自定义对象

对象的定义:
        var 变量名 = new Object(); // 对象实例(空对象)
        变量名.属性名 = 值; // 定义一个属性
        变量名.函数名 = function(){} // 定义一个函数
对象的访问:
        变量名.属性 / 函数名();
示例代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>10-Object 形式的自定义对象</title>
</head>
<body>
<script type="text/javascript">var obj = Object(); // 实例一个对象obj.name = "张三"; //定义一个对象属性值obj.age = 18; //定义一个对象属性值obj.fun = function(){ //定义一个函数document.write("名字:"+this.name+" 年龄:"+this.age);};//访问对象obj.fun();
</script>
</body>
</html>

9.2 {}花括号形式的自定义对象

对象的定义:
        var 变量名 = { }// 空对象
        var 变量名 = { //实例对象         注意,在{}中每一个对象之间都要有逗号
                属性名:值,         // 定义一个属性
                属性名:值,         // 定义一个属性
                函数名:function(){} // 定义一个函数
        };
对象的访问:
        变量名.属性 / 函数名();
示例代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>11-花括号形式的自定义对象</title>
</head>
<body>
<script type="text/javascript">//示例对象var obj = {name: "李四", //定义一个属性age:19, //定义一个属性fun:function () { //定义一个函数document.write("名字:"+this.name+" 年龄:"+this.age)}};//访问对象obj.fun();
</script>
</body>
</html>

10. 事件

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

10.1 常用的事件

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

10.2 事件的注册

什么是事件的注册(绑定)?
        其实就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。

10.2.1 静态注册事件

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

10.2.2 动态注册事件

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

动态注册基本步骤: (格式) 
 window.onload = function (ev) {
1、获取标签对象

          //getElementById 通过 id 属性获取标签对象
         var 所获取的标签对象名= document.getElementById("所作用的id名");
2、标签对象.事件名 = fucntion(){}
        标签对象.事件名 = fucntion(){
                代码段;
        }
        
}
        

10.3 onload 事件

10.3.1 onload 事件静态注册

onload 加载完成事件:页面加载完成之后,常用于做页面 js 代码初始化操作

方式用代码演示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>1.onload事件-静态注册</title><script type="text/javascript">//定义onload事件的方法function onloadFun(){alert("静态注册onload事件")}</script>
</head>
<!--onload 事件是浏览器解析完页面之后就会自动触发的事件-->
<body onload = "onloadFun();">
</body>
</html>

10.3.2 onload 事件动态注册

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>2.onload事件-动态注册</title><script type="text/javascript">// 动态注册onload事件window.onload = function (ev) {alert("动态注册onload事件");}</script>
</head>
<body id="body01">
</body>
</html>

10.4 onclick单击事件

onclick 单击事件:常用于按钮的点击响应操作。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>2.onclick事件</title><script type="text/javascript">// 静态注册function onclikcFun() {alert("按钮1已被点击!");}// 动态注册window.onload = function (ev) {// 1.获取标签对象var button01 = document.getElementById("button01");// 2.用标签对象执行函数button01.onclick = function () {alert("按钮2已被点击!");};}</script>
</head>
<body>
<!--按钮1 为静态注册-->
<button onclick="onclikcFun()">按钮1</button>
<!--button为按钮标签--><!-- 按钮2 为动态注册-->
<button id="button01">按钮2</button></body>
</html>

10.5 onblur 失去焦点事件

onblur 失去焦点事件:常用于输入框失去焦点后验证其输入内容是否合法。

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

10.6 onchange事件

onchange内容发生改变事件:        常用于下拉列表和输入框内容发生改变后操作

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>6.onchange事件</title><script type="text/javascript">// 静态注册function onchangeFun() {alert("文本框内容已改变!!")}//动态注册window.onload = function (ev) {var select01 = document.getElementById("select01");select01.onchange = function () {alert("下拉框内容已改变!!!")};}</script>
</head>
<body>
<form>文本框内容:<input type="text" onchange="onchangeFun();"/><br/>下拉框内容:<select id="select01"><option>国籍</option><option>中国</option><option>美国</option><option>英国</option></select>
</form>
</body>
</html>

10.7 onsubmit 事件

onsubmit 表单提交事件:常用于表单提交前,验证所有表单项是否合法。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>5.onsubmit事件</title><script type="text/javascript ">//静态注册function onsubmitFun() {// 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交if (true) {//"判断表单内容是否合法"alert("表单内容合法");return true;}else{alert("表单内容不合法,注册失败!");return false;}}//动态注册window.onload= function (ev) {var form01 = document.getElementById("form01");form01.onsubmit = function () {// 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交if (false) {//"判断表单内容是否合法"alert("表单内容合法");return true;}else{alert("表单内容不合法,注册失败!");return false;}}}</script>
</head>
<body>
<!--return false 可以阻止 表单提交 -->
<form action="../../html学习/10-表单标签4-注册成功页面.html" method="post" onsubmit="return onsubmitFun();"><input type="submit" value="静态注册"/>
</form>
<form action="../../html学习/10-表单标签4-注册成功页面.html" method="post" id="form01"><input type="submit" value="动态注册"/>
</form>
</body>
</html>

11. 正则表达式

11.1 RegExp 对象

正则表达式是描述字符模式的对象。

正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

11.2 语法

创建表达式:

var patt=new RegExp(pattern,modifiers);
或者更简单的方式:
var patt=/pattern/modifiers;

  • pattern(模式) 描述了表达式的模式
  • modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配

用表达式检查字符串:

patt.test(str);

若str满足patt,则返回true

若str不满足patt,则返回false

11.3 修饰符

修饰符用于执行区分大小写和全局匹配:

修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。(默认)
m 执行多行匹配。

11.4 方括号

方括号用于查找某个范围内的字符:

表达式 描述
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。

11.5 元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符 描述
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。(字母,数字,下划线)
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NUL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

11.6 量词

量词 描述
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

11.7 RegExp 对象方法

方法 描述 FF IE
compile 编译正则表达式。 1 4
exec 检索字符串中指定的值。返回找到的值,并确定其位置。 1 4
test 检索字符串中指定的值。返回 true 或 false。 1 4

11.8 支持正则表达式的 String 对象的方法

方法 描述 FF IE
search 检索与正则表达式相匹配的值。 1 4
match 找到一个或多个正则表达式的匹配。 1 4
replace 替换与正则表达式匹配的子串。 1 4
split 把字符串分割为字符串数组。 1 4

11.9 代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>12-正则表达式</title>
</head>
<script type="text/javascript">// 创建正则表达式1:表示要求字符串中,是否包含字母evar patt1 = new RegExp("e");// alert(patt1);// /e/:也是正则表达式对象var patt2 = /e/;// alert(patt2); // /e/var str1 = "abcd";var str2 = "abcde";// alert(patt2.test(str1)); //false// alert(patt2.test(str2)); //true//表示要求字符串是否包含a或b或cvar patt3 = /[abc]/;var str3 = "135da123";var str4 = "123456";// alert(patt3.test(str3)); //true// alert(patt3.test(str4)); //false//表示要求字符串是否包含小写字母var patt4 = /[a-z]/;str5 = "132456aA";str6 = "132456A";// alert(patt4.test(str5)); //true// alert(patt4.test(str6)); //false//表示要求字符串是否包含大写写字母var patt5 = /[A-Z]/;//表示要求字符串是否包含英文字母var patt6 = /[A-z]/;// 表示要求字符串中是否包含字母、数字、下划线var patt7 = /\w/;var str7 = "[]";var str8 = "[1]";var str9 = "[_]";// alert(patt7.test(str7)); //false// alert(patt7.test(str8)); //true// alert(patt7.test(str9)); //true// 表示要求字符串中是否包含至少一个avar patt8 = /a+/;var str10 = '12315a324aaa';var str11 = '123154324';// alert(patt8.test(str10)); //true// alert(patt8.test(str11)); //false//表示要求字符串中是否包含至少零个或多个avar patt9 = /a*/;var str12 = '134';var str13 = '134a';// alert(patt9.test(str12)); //true// alert(patt9.test(str13)); //true//表示要求字符串中是否 *包含* 零个或1个avar patt10 = /a?/; //在没有定义modifiers的情况下,字符串检索到满足的情况下就直接返回truevar str14 = '134';var str15 = '134a';var str16 = '134aa';var str17 = '134aaaaaaa';// alert(patt10.test(str14));//true// alert(patt10.test(str15));//true// alert(patt10.test(str16));//true// alert(patt10.test(str17));//true//表示要求字符串中是否 包含 连续的三个avar patt11 = /a{3}/var str18 = 'a123a123a';var str19 = 'a123aaa123a';var str20 = 'a123aaaaaa123a';// alert(patt11.test(str18)); //false// alert(patt11.test(str19)); //true// alert(patt11.test(str20)); // true//表示要求字符串中是否 包含 至少3个连续a,最多5个avar patt = /a{3,5}/;var str = "123a123a123";// alert(patt.test(str));//falsestr = '123aaa321';// alert(patt.test(str));//truestr = '123aaaaaaaaaaaaa321';// alert(patt.test(str));//true//在没有定义modifiers的情况下,字符串检索到满足的情况下就直接返回true//表示要求字符串中是否 包含 至少3个连续apatt = /a{3,}/;str = '123aaa321';// alert(patt.test(str));//true//表示要求字符串中必须以a开头patt = /^a/;str = '123aaa321';// alert(patt.test(str));//falsestr = 'a123aaa321';// alert(patt.test(str));//true//表示要求字符串中必须以a结尾patt = /a$/;str = '123aaa321';// alert(patt.test(str));//falsestr = '123aaa321a';// alert(patt.test(str));//true//表示要求字符串中是否 包含 3-5个字符patt = /^\w{3,5}$/;str = '123a';alert(patt.test(str));//truestr = '132as';alert(patt.test(str));//truestr = '123aaaaaaa321a';alert(patt.test(str));//false</script>
<body>
</body>
</html>

12. DOM 模型

        DOM 全称是 Document Object Model 文档对象模型
        大白话,就是把文档中的标签,属性,文本,转换成为对象来管理。
       

12.1 、Document 对象

Document 对象的理解:
        第一点:Document 它管理了所有的 HTML 文档内容。
        第二点:document 它是一种树结构的文档。有层级关系。
        第三点:它让我们把所有的标签 都 对象化
        第四点:我们可以通过 document 访问所有的标签对象。
什么是对象化??
举例:
有一个人有年龄:18 岁,性别:女,名字:张某某
Class Person {
        private int age;

        private String sex;
        private String name;
}

那么 html 标签 要 对象化 怎么办?
<body>
        <div id="div01">div01</div>
</body>

模拟div标签对象化,相当于:
class Dom{
        private String id; // id 属性
        private String tagName; //表示标签名
        private Dom parentNode; //父标签
        private List<Dom> children; // 孩子结点
        private String innerHTML; // 起始标签和结束标签中间的内容
}

12.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
以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。

12.2.1 getElementById方法代码演示

通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值

需求:当用户点击了较验按钮,要获取输出框中的内容。然后验证其是否合法。
验证的规则是:必须由字母,数字。下划线组成。并且长度是 5 12 位。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>1.getElementById方法</title><!--需求:当用户点击了较验按钮,要获取输出框中的内容。然后验证其是否合法。验证的规则是:必须由字母,数字。下划线组成。并且长度是 5 到 12 位。--><script type="text/javascript">//静态注册function onclickButton(){// 当我们要操作一个标签的时候,一定要先获取这个标签对象。(获取标签对象)// 获取id为username的标签对象var username = document.getElementById("username");// username就是 dom 对象// 获取username标签对象的value属性值var value = username.value;// 获取span标签对象var span1 = document.getElementById("span1");// 3.对username标签value值进行校验var patt = /^\w{5,12}$/;if(patt.test(value)){span1.innerHTML = "用户名合法";//innerHTML属性可读可写}else{span1.innerHTML = "用户名不合法";}}//动态注册window.onload = function (ev) {var button = document.getElementById("button");button.onclick = function () {var password = document.getElementById("password");var value = password.value;var patt = /^\w{5,12}$/;var span2 = document.getElementById("span2");if(patt.test(value)){span2.innerHTML = "<img src=\"../imgs/right.png\" width=\"24\" height=\"24\"/>";}else{span2.innerHTML = "<img src=\"../imgs/wrong.png\" width=\"24\" height=\"24\"/>";}};}</script>
</head>
<body><form >用户名:<input type="text" value="请输入用户名" id="username"><span id="span1" style="color:red"></span><input type="button" value="校验" onclick="onclickButton();"/><br />密码:<input type="password" id="password"/><span id="span2" style="color:red"></span><input type="button" value="校验" id="button"/><br /></form>
</body></html>

12.2.2 getElementsByName 方法示例代码

document.getElementsByName(elementName)
        通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值
返回带有指定名称的对象集合
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>2.getElementsByName方法</title><script type="text/javascript">//静态注册//全选function onclickAll() {// 让所有复选框都选中// document.getElementsByName();是// 根据 指定的 name 属性查询返回多个标签对象集合// 这个集合的操作跟数组 一样// 集合中每个元素都是 dom 对象// 这个集合中的元素顺序是他们在 html 页面中从上到下的顺序var hobbies = document.getElementsByName("hobby");// alert(hobbies); //[object NodeList]// alert(hobbies.length); //5// alert(hobbies[2]); //[object HTMLInputElement]// alert(hobbies[0].value); //java// alert(hobbies[0].checked); //true// alert(hobbies[1].checked); //false// checked 表示复选框的选中状态。如果选中是 true,不选中是 false// checked 这个属性可读,可写for (var i = 0; i < hobbies.length; i++) {hobbies[i].checked = true;}}//全不选function onclickNo() {var hobbies = document.getElementsByName("hobby");for (var i = 0; i < hobbies.length; i++) {hobbies[i].checked = false;}}//反选function onclickReverse() {var hobbies = document.getElementsByName("hobby");for (var i = 0; i < hobbies.length; i++) {if (hobbies[i].checked) {hobbies[i].checked = false;} else {hobbies[i].checked = true;}}}// 动态注册window.onload = function (ev) {var buttons = document.getElementsByName("button");var hobbies = document.getElementsByName("hobby");buttons[0].onclick = function () {for (var i = 0; i < hobbies.length; i++) {hobbies[i].checked = true;}};buttons[1].onclick = function () {for (var i = 0; i < hobbies.length; i++) {hobbies[i].checked = false;}};buttons[2].onclick = function () {for (var i = 0; i < hobbies.length; i++) {if (hobbies[i].checked) {hobbies[i].checked = false;} else {hobbies[i].checked = true;}}};}</script>
</head>
<body>
<form>兴趣爱好:<input type="checkbox" name="hobby" value="java" checked/>java<input type="checkbox" name="hobby" value="cpp"/>C++<input type="checkbox" name="hobby" value="c"/>C<input type="checkbox" name="hobby" value="python"/>python<input type="checkbox" name="hobby" value="php"/>php<br/><input onclick="onclickAll();" type="button" value="全选(静态)"/><input onclick="onclickNo();" type="button" value="全不选(静态)"/><input onclick="onclickReverse();" type="button" value="反选(静态)"/><br/><input name="button" type="button" value="全选(动态)"/><input name="button" type="button" value="全不选(动态)"/><input name="button" type="button" value="反选(动态)"/>
</form></body>
</html>

12.2.3 getElementsByTagName 方法示例代码

document.getElementsByTagName(tagname)
        通过标签名查找标签 dom 对象。tagname 是标签名
getElementsByTagName() 返回带有指定标签名的对象集合。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>3.getElementsByTagName方法</title><script type="text/javascript">//静态注册function onclickAll(){// document.getElementsByTagName("input");// 是按照指定标签名来进行查询并返回集合// 这个集合的操作跟数组 一样// 集合中都是 dom 对象// 集合中元素顺序 是他们在 html 页面中从上到下的顺序。var inputs = document.getElementsByTagName("input");for (var i = 0; i < inputs.length; i++) {inputs[i].checked = true;}}//动态注册window.onload = function (ev) {var inputs = document.getElementsByTagName("input");var button = document.getElementsByTagName("button");button[1].onclick = function () {for (var i = 0; i < inputs.length; i++) {inputs[i].checked = true;}}}</script>
</head>
<body>兴趣爱好:<input type="checkbox" value="java" checked/>java<input type="checkbox" value="cpp"/>C++<input type="checkbox" value="c"/>C<input type="checkbox" value="python"/>python<input type="checkbox" value="php"/>php<br/><button onclick="onclickAll();">全选(静态)</button><button>全选(动态)</button>
</body>
</html>

12.2.4 createElement 方法示例代码

document.createElement( tagName)

        方法,通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名

需求:使用 js 代码来创建 html 标签,并显示在页面上 标签的内容就是:<div>hello world</div>

方式1:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>4.createElement方法</title><script type="text/javascript">window.onload = function (ev) {//使用 js 代码来创建 html 标签,并显示在页面上// 标签的内容就是:<div>hello world</div>//方式1://1.使用createElement方法创建div标签对象var div = document.createElement("div"); //在内存中创建了 <div></div>// 2.给div标签对象里添加文本div.innerHTML = "hello world";//在body标签中添加子元素divdocument.body.append(div); //将div放入body中// append方法,可以添加一个子节点,oChildNode 是要添加的孩子节点//语法:标签对象.append(子标签对象)// document.body相当于body标签对象, 因为body太常用,就把其放为document属性中}</script>
</head>
<body>
</body>
</html>

方式2:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>4.createElement方法</title><script type="text/javascript">window.onload = function (ev) {//使用 js 代码来创建 html 标签,并显示在页面上// 标签的内容就是:<div>hello world</div>//方式2://1.使用createElement方法创建div标签对象var div = document.createElement("div");//2.使用createTextNode方法创建文本节点对象var text = document.createTextNode("hello world");//3.将文本节点对象添加到div标签中div.appendChild(text);//4.将div添加到body中document.body.appendChild(div);};</script>
</head>
<body>
</body>
</html>

12.3 节点的常用属性和方法

节点就是标签对象
方法:
通过具体的元素节点调用:
getElementsByTagName()
方法,获取当前节点的指定标签名孩子节点
appendChild( oChildNode )
方法,可以添加一个子节点,oChildNode 是要添加的孩子节点
属性:
childNodes 属性,获取当前节点的所有子节点
firstChild 属性,获取当前节点的第一个子节点
lastChild 属性,获取当前节点的最后一个子节点
parentNode 属性,获取当前节点的父节点
nextSibling 属性,获取当前节点的下一个节点
previousSibling 属性,获取当前节点的上一个节点
className 用于获取或设置标签的 class 属性值
innerHTML 属性,表示获取/设置起始标签和结束标签中的内容(含代码)
innerText 属性,表示获取/设置起始标签和结束标签中的文本(只有文本,不含代码)

12.4 练习

题目:

html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dom查询</title>
<link rel="stylesheet" type="text/css" href="css.css" />
<script type="text/javascript" src="js.js">
</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>

css代码:

@CHARSET "UTF-8";body {width: 800px;margin-left: auto;margin-right: auto;
}button {width: 300px;margin-bottom: 10px;
}#btnList {float:left;
}#total{width: 450px;float:left;
}ul{list-style-type: none;margin: 0px;padding: 0px;
}.inner li{border-style: solid;border-width: 1px;padding: 5px;margin: 5px;background-color: #99ff99;float:left;
}.inner{width:400px;border-style: solid;border-width: 1px;margin-bottom: 10px;padding: 10px;float: left;
}

js代码(题目):

window.onload = function(){//1.查找#bj节点var btn01Ele = document.getElementById("btn02");btn02Ele.onclick = function(){//2.查找所有li节点var btn02Ele = document.getElementById("btn02");btn02Ele.onclick = function(){};//3.查找name=gender的所有节点var btn03Ele = document.getElementById("btn03");btn03Ele.onclick = function(){};//4.查找#city下所有li节点var btn04Ele = document.getElementById("btn04");btn04Ele.onclick = function(){};//5.返回#city的所有子节点var btn05Ele = document.getElementById("btn05");btn05Ele.onclick = function(){};//6.返回#phone的第一个子节点var btn06Ele = document.getElementById("btn06");btn06Ele.onclick = function(){};//7.返回#bj的父节点var btn07Ele = document.getElementById("btn07");btn07Ele.onclick = function(){};//8.返回#android的前一个兄弟节点var btn08Ele = document.getElementById("btn08");btn08Ele.onclick = function(){};//9.读取#username的value属性值var btn09Ele = document.getElementById("btn09");btn09Ele.onclick = function(){};//10.设置#username的value属性值var btn10Ele = document.getElementById("btn10");btn10Ele.onclick = function(){};//11.返回#bj的文本值var btn11Ele = document.getElementById("btn11");btn11Ele.onclick = function(){};

答案:

window.onload = function(){//1.查找#bj节点var btn01Ele = document.getElementById("btn01");btn01Ele.onclick = function () {var bj = document.getElementById("bj");alert(bj.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(){var cityLis = document.getElementById("city").getElementsByTagName("li");alert(cityLis.length)};//5.返回#city的所有子节点的个数var btn05Ele = document.getElementById("btn05");btn05Ele.onclick = function(){var ctiyChildNodes = document.getElementById("city").childNodes.length;alert(ctiyChildNodes);};//6.返回#phone的第一个子节点var btn06Ele = document.getElementById("btn06");btn06Ele.onclick = function(){var firstChild = document.getElementById("phone").firstChild.innerHTML;alert(firstChild);};//7.返回#bj的父节点var btn07Ele = document.getElementById("btn07");btn07Ele.onclick = function(){var innerHTML = document.getElementById("bj").parentNode.innerHTML;alert(innerHTML);};//8.返回#android的前一个兄弟节点var btn08Ele = document.getElementById("btn08");btn08Ele.onclick = function(){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(){alert(document.getElementById("username").value = "321abc")};//11.返回#bj的文本值var btn11Ele = document.getElementById("btn11");btn11Ele.onclick = function(){alert(document.getElementById("city").innerHTML);};
};

JavaWeb JavaScript相关推荐

  1. JavaWeb --- JavaScript

    一.JavaScript介绍 JavaScript语言诞生主要是完成页面的数据验证.因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码.JS是Netcape网景公司的产品,最早取名为 ...

  2. 基于JavaWeb JavaScript的根据时间段的不同,在网页中显示不同的问候语

    题目: 根据时间段的不同,在网页中显示不同的问候语,若小时数在12点以前,则输出"早上好!"的问候语,颜色为蓝色:若在12点至18点,则输出"下午好!"颜色为红 ...

  3. JAVAWEB JavaScript 正则表达式

    1.RegExp对象:描述字符串模式的对象 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)用于对字符串模式匹配以及检索替换,是对字符串执行模式 ...

  4. JavaWeb——JavaScript基础(三)

    目录 一.javascript的简介 二.js和html的结合方式(两种) 三.js的原始类型和声明变量 四.js的语句 五.js的运算符 六.实现99乘法表(输出到页面上) 七.js的数组 八.js ...

  5. JavaWeb——JavaScript精讲之ECMAScript标准(基本语法、JavaScript对象)

    目录 1.JavaScript概述 2.ECMAScript客户端脚本语言标准 2.1.基本语法 2.2.JavaScript对象 1.JavaScript概述 JavaScript不同于HTML.C ...

  6. JavaWeb=JavaScript高级

    DOM是一个使程序和脚本有能力动态地访问和更新文档的内容.结构以及样式的平台和语言中立的接口.,而BOM定义了JavaScript可以进行操作的浏览器的各个功能部件的接口. javascript 有三 ...

  7. JavaScript中的数组方法和循环

    1.基本概念 JavaScript 数组用于在单一变量中存储多个值.是一个具有相同数据类型的一个或多个值的集合 2.创建数组的三种方法 (1)使用JavaScript关键词 new 一个Array对象 ...

  8. jQuery插件autoComplete介绍(10级学员 张帅鹏总结)

    jQuery插件autoComplete介绍 概述:AutoComplete为自动填充,展示之意.用户在使用文本框搜索信息时,使用插件的autoplete方法绑定文本框.当在文本框中输入某个字符时,通 ...

  9. JavaScriptBOM、数据交互JSON、表单验证

    Java学习打卡:第88天 javaWeb - Javascript收尾和JSP以及制作 内容导航 获取文本框的value 获取下拉列表选中项的value change事件 显示网页时钟 setine ...

最新文章

  1. 【Qt】Qt再学习(十五):关于paintEvent、QPainter学习这一个demo就够了
  2. hdu 1872(看病要排队)(优先队列)
  3. python hbase_Python操作Hbase
  4. c语言变量命名规则_带你学习C语言—变量
  5. React 第六章 事件的绑定
  6. vs debug 调试 快捷键
  7. 富豪被劫,二十年一遇
  8. C++ Primer Plus 6 第一章
  9. CSS基础学习-10.CSS伸缩盒(老版本)
  10. python类属性定义_Python中类的定义与使用
  11. 计算机组成原理——思维导图分享
  12. 教育培训招生小程序源码
  13. [转]工商银行客户等级怎么划分?工商银行客户等级标准
  14. ASDFZ 3633 -- 排兵布阵
  15. AliOS-Things--EMW3060 (9)uart
  16. 9月20日科技联播:美团今日上市估值超小米京东;阿里巴巴获杭州第一张自动驾驶牌照...
  17. 益聚星荣:不打老婆的即时到账”?还呗贷款平台广告词惹争议
  18. 斯皮尔曼(spearman)相关系数python代码实现
  19. 人工神经网络技术基础
  20. 联芸科技冲刺科创板上市:业绩表现不稳定,实控人方小玲为美国籍

热门文章

  1. 用树莓派 + aria2 做一个下载机
  2. 餐饮业改善寻源战略的6个实践
  3. linux部署常用软件
  4. 如何查询mysql数据库大小写敏感_MySQL数据库大小写敏感的问题
  5. mysql各种查询包括连接查询
  6. 产品体验分析:QQ音乐 在线付费之路
  7. java开发用i5还是i7,i7比i5更强!为什么内行人都选i5而不选i7?看完瞬间懂了
  8. 自然语言生成技术现状调查:核心任务、应用和评估(4)
  9. (九)play之yabe项目【发表博文】
  10. java-第二章-升级我行我素购物管理系统,模拟幸运抽奖