JavaScript
JavaScript
一.JavaScript简介
1.JavaScript是一种基于对象和事件驱动的,并具有安全性能的脚本语言
2.JavaScript的特点:
- 向HTML页面中添加交互行为
- 脚本语言,语法和Java类似
- 解释性语言,边执行边解释
3.JavaScript组成:
- ECMAScript:描述了JS的语法和基本对象
- DOM:处理网页内容的方法和接口
- BOM:与浏览器交互的方法和接口
4.可以包含在文档中的任何地方,只要保证这些代码在被使用前已读取并加载到内存即可
5.引用外部JS文件:
<script src="index.js" type="text/javascript"></script>
6.直接在HTML标签中;
<input type="button" name="but" value="弹出消息框" onclick="javascript:alert('你好啊');"/>
二.核心语法
1.数据类型:
- undefined:变量没有初始值,将被赋予值undefined
- null:表示一个空值
- number:整数,浮点数
- boolean:true和false
- string:字符串(一组被引号括起来的文本)
2.数组:
var 数组名称 = new Array(size);
var number = new Array(1,2,3,4);
3.运算符号:
- == :相等运算符在进行类型判断时可能会进行一些类型转换
- 如果俩个值类型相同,在进行===比较;如果俩个值类型不同,则进行类型转换在比较
- 如果俩个值都是null,undefined或者一个为null,一个为undefined,其比较结果都相等 - === :严格相等运算符是先进行类型比较,如果类型不相同直接就不相等
4.控制语句
5.注释
6.输入/输出:
- alert( "提示信息" )
- prompt( "提示信息","输入框的默认信息" )
7.语法约定
8.变量:var,let
三.函数
1.函数简介:
- 函数的含义:类似于Java中的方法,是完成特定任务的代码语句块
- 使用更简单:不用定义属于某个类,直接使用
- 函数的分类:系统函数和自定义函数
2.系统函数:
- isNaN():用于检查其参数是否是非数字
3.自定义函数:
-
function 函数名 (参数1,参数2...){ //JavaScript语句 return;//返回值 }
4.函数调用:
-
函数调用一般和表单元素的事件一起使用,调用格式
-
事件名 = "函数名()"
四.事件
1.onload:一个页面或一辐图像完成加载
2.onclick:鼠标单击某个对象
3.onmouseover:鼠标经过时自身触发事件,经过其子元素时也触发该事件
4.onmouseenter:鼠标经过时自身触发事件,经过其子元素时不触发该事件
5. onkeydown:某个键盘被按下
6. onchange:域的内容被改变
五.BOM
-
BOM:浏览器对象模型(Browser Object Model)
-
BOM提供独立于内容的,可以与浏览器窗口进行互动的对象结构
-
![]()
-
BOM可实现的功能
- 弹出新的浏览器窗口
- 移动,关闭浏览器窗口以及调整窗口的大小
- 页面的前进和后退
六. window对象
-
常用属性:
- history:有关客户访问过的URL信息
- location:有关当前URL的信息
- 语法:属性名="属性值"
-
常用方法:
-
prompt():显示可提示用户输入的对话框
-
alert():显示带有一个提示信息和一个确认按钮的警示框
-
confirm():显示一个带有提示信息,确认和取消按钮的对话框
-
close():关闭浏览器窗口
-
open():打开一个新的浏览器窗口,加载给定URL所指定的文档
open("弹出窗口的url") -
setTimeout():在指定的毫秒数后调用一次函数或计算表达式
setTimeout("调用的函数",等待的毫秒数) -
setInterval:按照指定的周期(以毫秒计)来调用函数或表达式
-
-
history对象:
-
back():加载history对象列表中的前一个URL
-
forward():加载history对象列表中的下一个URL
-
go():加载history对象列表中的某个具体URL
history.back() == history.go(-1) //等价,后退 history.forward() == history.go(1) //等价 ,前进
-
-
location对象:
- host:设置或返回主机名和当前URL的端口号
- hostname:设置或返回当前URL的主机名
- href:设置或返回完整的URL
- reload():重新加载当前文档
- replace():用新的文档替换当前文档
-
Document对象:
-
referrer:返回载入当前文档的URL
-
URL:返回当前文档的URL
//语法 document.referrer document.URL
-
-
Document对象的常用方法:
- getElementById():返回对拥有指定id的第一个对象的引用(对象的id唯一)
- getElementsByName():返回带有指定名称的对象的集合(相同name属性)
- getElementsByTagName():返回带有指定标签名的对象的集合(相同的元素)
- write():向文档写文本,HTML表达式或JavaScript代码
七.JavaScript内置对象
-
Date:用于操作日期和时间
//1.首先需要创建一个Date对象 var date = new Date //2.Date对象的常用方法 date.getDate() //返回Date对象的一个月中的每一天,其值介于1~31之间 date.getDay() //返回Date对象的星期中的每一天,其值介于0~6之间 date.getHours() //返回Date对象的小时数,其值介于0~23之间 date.getMinutes() //返回Date对象的分钟数,其值介于0~59之间 date.getSeconds() //返回Date对象的秒数,其值介于0~59之间 date.getMonth() //返回Date对象的月份,其值介于0~11之间 date.getFullYear() //返回Date对象的年份,其值为四位数 date.getTime() //返回自1970年1月1日00:00:00到该日期对象表示的时间之间的毫秒数 -
Math对象
//使用方法:Math.方法 ceil() //对数进行上舍入 floor() //对数进行下舍入 round() //把数四舍五入为最接近的数 random() //返回0~1之间的随机数toFixed() :取小数点后俩位
-
Array对象
//使用时需要用new关键字来创建 push(参数...) //向末尾添加一个或多个元素,并返回新的长度,此时修改了原数组, pop() //删除数组最后一个元素,把数组长度减1,返回它删除元素的值,修改了原数组 unshift(参数...) //向数组开头添加一个或多个元素,并返回新的长度,修改了原数组 shift() //删除数组的第一个元素,数组长度减1,返回它删除元素的值,修改了原数组 reverse() //颠倒数组中元素的顺序,该方法改变了原来的数组,返回新数组 sort() //对数组的元素进行排序,该方法改变了原来的数组,返回新数组 -
String对象
//直接进行使用 indexOf("要查找的字符",开始的位置) //返回指定内容在原字符串中的位置,如果找不到就返回-1,开始的位置时index的索引号 lastIndexOf() //从后往前找,只找第一个匹配的
八.操作DOM
-
DOM:Document Object Model(文档对象模型)
-
节点:DOM将所有的文档中的内容都定义为节点
-
节点与节点的关系:
![]()
-
访问节点:
//使用getElement系列方法访问指定节点 getElementById() getElementsByName() getElementsByTagName() //根据层次关系访问节点(节点属性) parentNode //返回节点的父节点 childNodes //返回子节点集合,childNode[i] firstChild //返回节点的第一个子节点,最普通的用法是访问该元素的文本节点 lastChild //返回节点的最后一个子节点 nextSibling //下一个节点 previousSibling //上一个节点 //根据层次关系访问节点(element属性) firstElementChild //返回节点的第一个元素节点 lastElementChild //返回节点的最后一个子元素节点 nextElementSibling //下一个元素节点 previousElementSibling //上一个元素节点 -
节点属性:一般来说节点至少拥有 nodeType(节点类型),nodeName(节点名称),nodeValue(节点值)
-
节点类型:
![]()
-
操作节点的属性:
getAttribute("属性名") setAttribute("属性名","属性值") -
创建和插入节点:
//创建一个标签名为"div"的新元素节点 document.createElement("div") //追加元素对象到父元素的内部末尾 父节点.appendChild(元素对象) //将一个节点添加到父节点的指定子节点之前,把参数1节点对象插入到参数2节点对象之前 父节点.insertBefore(参数1,参数2) //复制某个指定的节点 指定的节点.cloneNode() -
删除和替换节点:
//删除指定的节点 父节点.removeChild(node) //用其他节点替换指定的节点 父节点.replaceChild(newNode,oldNode) -
操作节点的样式:
需改变样式的节点.style.color="#ffffff" -
className是类别选择器的名字,使用这个className可以进行动态更改某个标签的类的属性值
类名需要改变的元素.className="样式名称" -
获取元素的样式:
//这个方法只能获取写在html标签中的写在style属性中的值,而无法获取定义在<style type="text/css"></>里面的属性值 obj.style //getComputedStyle()是window的方法,它有俩个参数,参数1为要获取元素的样式,参数2可以传递一个伪元素,一般都传null,该方法会返回一个对象,对象中封装了当前元素对应的样式,可以通过对象样式名来读取样式,如果获取的样式没有设置,则会获取到真实的值,而不是默认值 document.defaultView.getComputedSytle(元素,null).属性
九.对象
-
对象是包含相关属性和方法的集合
-
什么是面向对象:
- 面向对象仅仅是一个概念或者编程思想
- 通过一种叫做原型的方式来实现面向对象编程
-
对象分为自定义对象和内置对象
-
自定义对象
//基于Object对象的方式创建对象 var 对象名 = new Object(); //使用字面量赋值方式创建对象 var 对象名 = { }



浙公网安备 33010602011771号