JavaScript高级
1、js的函数
(1)在java里面定义方法
public void/int 方法名称(参数列表) {
方法体和返回值;
}
(2)在js里面定义函数有三种方式
第一种:使用关键字 function 方法名称(参数列表) { 方法体和返回值 }
* 注意一:参数列表,不需要写类型(var),直接写参数名称
* 注意二:返回值,根据实际需要可以有也可以没有
第二种:匿名函数,使用关键字function(参数列表) { 方法体和返回值; }
第三种:动态函数(方法体和返回值,包含参数列表都是通过参数传递进来的)
* 使用js里面的内置对象 new Function("参数列表","方法体和返回值")
2、js的函数的重载
(1)在java里面存在重载,方法名称相同,参数列表不同
(2)js里面是否存在函数的重载?
第一,在js不存在重载
第二,可以使用js函数里面arguments数组模拟重载的效果
(3)模拟重载的效果
* 在js里面有一个数组arguments,保存传递进来的参数,使用这个数组模拟重载的效果
3、js的事件
(1)什么是事件:在html的元素里面可以触发事件调用js里面的函数
(2)在html的标签上面如何使用事件
* 有三种方式
* 第一种:使用事件属性调用js方法
* 第二种:首先得到要绑定的标签,在使用事件的属性
* 第三种:首先得到要绑定的标签,写js的代码
4、js的常用的事件
(1)onload事件和onclick事件
* onload:html页面在加载时候触发事件,调用响应的js方法
(2)onfocus事件和onblur事件
* onfocus:获取焦点
* onblur:失去焦点
(3)onmouseover 鼠标被移到某元素之上
(4)onmouseout 鼠标从某元素移开
(5)onkeypress:点击键盘上面的某个键,调用方法
* <input type="text" id="textid1" onkeypress="key1(event);"/>
5、js的dom对象
(1)什么dom:document object model:文档对象模型
* 文档:指的是标记型文档(html、xml)
* 对象:在对象里面有属性和方法
** 使用dom里面提供的对象里面的属性和方法,对标记型文档进行操作
* 要想使用dom对象标记型文档进行操作,首先需要解析标记型文档(html为例)
** html中包含 标签、属性、文本内容
(2)使用dom解析html
* 解析过程:根据html的层级结构在内存中分配一个树形结构
* document对象,代表整个文档
* element对象,代表标签
* attribute属性对象
* text文本对象
* Node节点对象,是这些对象的父对象,在找不到想要使用的方法,到Node里面找
(3)DHTML的简介
* 不是一种技术,是很多技术的简称。
* 包含的技术:
** html:封装数据
** css:使用属性和属性值修改数据的样式
** ECMAScript:语句和语法
** DOM:对标记型文档进行操作
6、document对象
(1)document对象代表整个文档
(2)方法
第一个:write(),向页面输出内容,可以输出html代码
第二个:getElementById(): 获取标签对象,通过标签的id值进行获取
第三个:getElementsByName(): 根据标签里面name属性的值得到标签对象,返回数组
* 如果只有一个标签,使用getElementsByName返回的也是一个数组,不需要遍历,直接使用数组的下标获取值
第四个:getElementsByTagName():根据标签的名称获取标签对象,返回数组
* 如果只有一个标签,使用getElementsByTagName返回的也是一个数组,不需要遍历,直接使用数组的下标获取值
7、innerHTML属性
(1)innerHTML属性不是dom里面属性
(2)实现什么功能
第一,获取标签里面的文本内容
第二,向标签里面设置内容(可以写html代码)
8、练习:动态生成表格
(1)实现的步骤
* 首先创建页面,在页面中有两个普通输入项和按钮(有事件)
* 点击生成按钮,生成对应的表格
** 首先得到输入的行和列
** 根据行和列生成表格
*** 循环行 <tr>
*** 在行里面循环单元格 <td>
9、表单的提交
(1)在html中写form标签,提交方式
提交表单有三种方式
第一种方式:在form标签里面,写提交按钮 <input type="submit"/>
第二种方式:在form标签里面,写普通按钮 <input type="button"/>
第三种方式:使用超链接提交数据
* <a href="要链接的地址?参数名称1=参数的值1&参数名称2=参数的值2">超链接</a>
* <a href="15-表单的提交方式二.html?username=ccc&password=123456">超链接提交数据</a>
10、表单校验
(1)规范数据的输入的格式
(2)如何进行表单的校验
第一,使用submit进行表单提交,进行表单校验
* 使用事件 onsubmit事件,写在form标签里面
<form method="get" onsubmit="return checkForm();">
* 如何return返回的值true可以提交表单,如果返回false不会提交表单
第二,使用button进行表单校验
11、json的简介
(1)JavaScript Object Notation,JavaScript 对象表示法。json是数据的交换格式,比xml更加轻巧。
json是js的原生的格式,通过js操作json不需要依赖其他东西,直接对json格式进行操作。
(2)json数据格式
* json有两种数据格式
第一种:json的对象的格式
* 写法 {json数据的名称1:json数据的值1,json数据的名称2:json数据的值2.....}
** 类似于key-value形式
** 名称和值之间使用冒号隔开,多个值之间使用逗号隔开
** json数据的名称是字符串的类型,json数据的值 string, number, object, array, true, false, null
** 具体数据的格式 {"name":"zhangsan","age":20,"addr":"nanjing"}
第二种:json的数组的格式
* 写法 [json对象1,json对象2........]
** 在数组里面有多个json对象,多个json对象之间使用逗号进行隔开
** 具体数据的格式 [{"name":"lucy","age":20},{"name":"mary","age":30}]
(3)可以使用json的这两种格式组成更加复杂json的格式
* 复杂的格式 {"name":[{"name":"zhangsan","addr":"beijing"},{"name":"lisi","addr":"tianjin"}]}
12、js解析json
(1)js解析json的对象的数据格式
* 通过json对象数据格式里面的name的名称得到name对应的值
(2)js解析json的数组的数据格式
* 根据数组的下标得到json对象,解析json对象,根据数据的名称得到值
* 遍历json数组,得到json数组里面每个json对象,解析每个json对象,根据json对象的数据
的名称得到值
1、js的函数
(1)在java里面定义方法
public void/int 方法名称(参数列表) {
方法体和返回值;
}
(2)在js里面定义函数有三种方式
第一种:使用关键字 function 方法名称(参数列表) { 方法体和返回值 }
* 注意一:参数列表,不需要写类型(var),直接写参数名称
* 注意二:返回值,根据实际需要可以有也可以没有
第二种:匿名函数,使用关键字function(参数列表) { 方法体和返回值; }
第三种:动态函数(方法体和返回值,包含参数列表都是通过参数传递进来的)
* 使用js里面的内置对象 new Function("参数列表","方法体和返回值")
2、js的函数的重载
(1)在java里面存在重载,方法名称相同,参数列表不同
(2)js里面是否存在函数的重载?
第一,在js不存在重载
第二,可以使用js函数里面arguments数组模拟重载的效果
(3)模拟重载的效果
* 在js里面有一个数组arguments,保存传递进来的参数,使用这个数组模拟重载的效果
3、js的事件
(1)什么是事件:在html的元素里面可以触发事件调用js里面的函数
(2)在html的标签上面如何使用事件
* 有三种方式
* 第一种:使用事件属性调用js方法
* 第二种:首先得到要绑定的标签,在使用事件的属性
* 第三种:首先得到要绑定的标签,写js的代码
4、js的常用的事件
(1)onload事件和onclick事件
* onload:html页面在加载时候触发事件,调用响应的js方法
(2)onfocus事件和onblur事件
* onfocus:获取焦点
* onblur:失去焦点
(3)onmouseover 鼠标被移到某元素之上
(4)onmouseout 鼠标从某元素移开
(5)onkeypress:点击键盘上面的某个键,调用方法
* <input type="text" id="textid1" onkeypress="key1(event);"/>
5、js的dom对象
(1)什么dom:document object model:文档对象模型
* 文档:指的是标记型文档(html、xml)
* 对象:在对象里面有属性和方法
** 使用dom里面提供的对象里面的属性和方法,对标记型文档进行操作
* 要想使用dom对象标记型文档进行操作,首先需要解析标记型文档(html为例)
** html中包含 标签、属性、文本内容
(2)使用dom解析html
* 解析过程:根据html的层级结构在内存中分配一个树形结构
* document对象,代表整个文档
* element对象,代表标签
* attribute属性对象
* text文本对象
* Node节点对象,是这些对象的父对象,在找不到想要使用的方法,到Node里面找
(3)DHTML的简介
* 不是一种技术,是很多技术的简称。
* 包含的技术:
** html:封装数据
** css:使用属性和属性值修改数据的样式
** ECMAScript:语句和语法
** DOM:对标记型文档进行操作
6、document对象
(1)document对象代表整个文档
(2)方法
第一个:write(),向页面输出内容,可以输出html代码
第二个:getElementById(): 获取标签对象,通过标签的id值进行获取
第三个:getElementsByName(): 根据标签里面name属性的值得到标签对象,返回数组
* 如果只有一个标签,使用getElementsByName返回的也是一个数组,不需要遍历,直接使用数组的下标获取值
第四个:getElementsByTagName():根据标签的名称获取标签对象,返回数组
* 如果只有一个标签,使用getElementsByTagName返回的也是一个数组,不需要遍历,直接使用数组的下标获取值
7、innerHTML属性
(1)innerHTML属性不是dom里面属性
(2)实现什么功能
第一,获取标签里面的文本内容
第二,向标签里面设置内容(可以写html代码)
8、练习:动态生成表格
(1)实现的步骤
* 首先创建页面,在页面中有两个普通输入项和按钮(有事件)
* 点击生成按钮,生成对应的表格
** 首先得到输入的行和列
** 根据行和列生成表格
*** 循环行 <tr>
*** 在行里面循环单元格 <td>
9、表单的提交
(1)在html中写form标签,提交方式
提交表单有三种方式
第一种方式:在form标签里面,写提交按钮 <input type="submit"/>
第二种方式:在form标签里面,写普通按钮 <input type="button"/>
第三种方式:使用超链接提交数据
* <a href="要链接的地址?参数名称1=参数的值1&参数名称2=参数的值2">超链接</a>
* <a href="15-表单的提交方式二.html?username=ccc&password=123456">超链接提交数据</a>
10、表单校验
(1)规范数据的输入的格式
(2)如何进行表单的校验
第一,使用submit进行表单提交,进行表单校验
* 使用事件 onsubmit事件,写在form标签里面
<form method="get" onsubmit="return checkForm();">
* 如何return返回的值true可以提交表单,如果返回false不会提交表单
第二,使用button进行表单校验
11、json的简介
(1)JavaScript Object Notation,JavaScript 对象表示法。json是数据的交换格式,比xml更加轻巧。
json是js的原生的格式,通过js操作json不需要依赖其他东西,直接对json格式进行操作。
(2)json数据格式
* json有两种数据格式
第一种:json的对象的格式
* 写法 {json数据的名称1:json数据的值1,json数据的名称2:json数据的值2.....}
** 类似于key-value形式
** 名称和值之间使用冒号隔开,多个值之间使用逗号隔开
** json数据的名称是字符串的类型,json数据的值 string, number, object, array, true, false, null
** 具体数据的格式 {"name":"zhangsan","age":20,"addr":"nanjing"}
第二种:json的数组的格式
* 写法 [json对象1,json对象2........]
** 在数组里面有多个json对象,多个json对象之间使用逗号进行隔开
** 具体数据的格式 [{"name":"lucy","age":20},{"name":"mary","age":30}]
(3)可以使用json的这两种格式组成更加复杂json的格式
* 复杂的格式 {"name":[{"name":"zhangsan","addr":"beijing"},{"name":"lisi","addr":"tianjin"}]}
12、js解析json
(1)js解析json的对象的数据格式
* 通过json对象数据格式里面的name的名称得到name对应的值
(2)js解析json的数组的数据格式
* 根据数组的下标得到json对象,解析json对象,根据数据的名称得到值
* 遍历json数组,得到json数组里面每个json对象,解析每个json对象,根据json对象的数据
的名称得到值