JS的简介
什么是js(了解)
- javascript简称js,是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,“寄生”在html体内随网络传输到客户端的浏览器的内存中解析。
- 脚本语言
- 脚本:电影或电视剧的拍摄时候的剧本底稿。/计算机中的脚本,给计算机看。脚本中包含一些给计算机的指令。
- Java和C语言,都需要编译成二进制的可执行文件。脚本文件是不需要编译,直接可以使用解释器进行解释执行!
- js是基于对象和事件驱动的脚本语言。
- 在Java中int i = 5;boolean res = true;
- 基于对象:不支持继承!
- 事件驱动:点击事件,前进后退、滑动、提交等等事件。
js的作用(了解)
js的作用很多,在目前学习阶段,只需要记住如下两个最最最常用的就可以了:
- 1.js可以动态的修改html及css的代码(修改的是浏览器内存中的那一份代码)
- 2.js可以对表单进行校验
js的组成部分(理解)
- 1.ECMAScript:这一部分主要是js的基本语法
- 2.BOM:Browser Object Model 浏览器对象模型,主要是获取浏览器信息或操作,例如:浏览器的前进与后退、浏览器弹出提示框、浏览器地址栏输入网址跳转等操作等(window)
- 3.DOM:Document Object Model 文档对象模型,此处的文档暂且理解为html,html加载到浏览器的内存中,可以使用js的DOM技术对内存中的html节点进行修改,用户从浏览器看到的是js动态修改后页面
js的引入方式(重点)
- 行内脚本
- 在标签上添加属性,绑定事件
- 内部脚本
- 创建一个script标签,在script标签中写js代码
- 外部脚本
- 在js文件夹中创建一个".js"结尾的文件,在改文件中写代码,什么地方需要使用到该文件中的代码就使用script标签的src属性将改文件引入
三种引入方式的优缺点介绍
优点
- 行内脚本
- 直观
- 内部脚本
- 复用性较强
- 外部样式
- 复用性特别强
缺点
- 行内样式
- 毫无复用性
- 只能写简单的js代码
- 内部样式
- 不太直观
- 外部样式
- 可读性差
- 用户加载这个html文件的时候还要加载js文件,流量消耗较大
js的变量
- Java的变量:
- 变量类型 变量名 = 变量值
- js的变量:
- var 变量名 = 变量值
js的数据类型
基本数据类型
- 数字类型:number
- 布尔类型:boolean
- 字符串类型:string
- 未定义:undefined
- 空类型:null (object)
类型之间的转换
- number和boolean转换成string。
- toString()
- string转number(重要)
- parseInt()
- parseFloat()
- number、string转boolean。(重要)
- new Boolean()
引用数据类型
跟Java中一样,js中的对象类型都是引用数据类型
- var obj = new Object();
- var str = new String();
- var date = new Date();
引用数据类型全为object类型
js中的运算符
- 赋值运算符 var num = 5;
- 比较运算符
- “>”
- <
- == 比较数据大小
- !=
- === 比较数据大小和内容
- 逻辑运算符,在js中没有单与和单或
- &&
- ||
- !
- 算数运算符
- +
- -
- *
- /
- %
- 三元运算符
- 条件?a:b
js中的逻辑语句
- 跟Java不同的 for(index in 数组名) ,index表示数组中的数据的下标
js中的函数(重点)
作用:封装一些功能实现
js中定义函数的三种方式(前两种是重点)
- 一般方式
function 函数名(){}
- 匿名函数
function(){}
- 对象方式(以后用不到)
js中的常用事件(重点)
事件概述
js的事件是js不可或缺的组成部分,要学习js的事件,必须要理解如下几个概念:
- 1)事件源:被监听的html元素(这个事件发生在谁身上,谁就是事件源)
- 2)事件:某类动作,例如点击事件,移入移除事件,敲击键盘事件等
- 3)事件与事件源的绑定:在事件源上注册上某事件,通过类似onclick等属性进行绑定
- 4)事件触发后的响应行为:事件触发后需要执行的代码,一般使用函数进行封装
常用事件
- onload 当页面加载完成时触发
- onsubmit 当表单提交的时候触发
- onclick 当鼠标点击某个对象的时候触发
- ondblclick 当鼠标双击某个对象的时候触发
- onfocus 当获取焦点的时候触发
- onblur 当失去焦点的时候触发
- onchange 当用户改变域的内容时触发
- onkeydown 当键盘按键被按下时触发
- onkeypress 当键盘按键被按住时触发
- onkeyup 键盘按键松开时触发
- onmousedown 当鼠标左键按下时触发
- onmouseup 当鼠标左键松开时触发
- onmouseover 当鼠标移到某个元素之上时触发
- onmouseout 当鼠标移开某个元素时触发
- onmousemove 当鼠标移动时触发
BOM(对象集合)
BOM的概述(了解)
BOM(Browser Object Mode),浏览器对象模型,是将我们使用的浏览器抽象成对象模型,例如我们打开一个浏览器,会呈现出以下页面,通过js提供浏览器对象模型对象我们可以模拟浏览器功能。
BOM的对象
- 1.Screen对象,Screen 对象中存放着有关显示浏览器屏幕的信息。(了解)
- 2.Window对象(BOM里面最顶级的对象),Window 对象表示一个浏览器窗口或一个框架。(重点)
- 3.Navigator对象,包含的属性描述了正在使用的浏览器(了解)
- 4.History对象,其实就是来保存浏览器历史记录信息。(了解)
- 5.Location对象,location对象的href属性可以用于跳转页面。(重点)
Window对象
一、弹框(重点)
- 提示框 alert(提示信息)
- 确认框 confirm(提示信息)
- 输入框 prompt(提示信息)
二、定时器(重点)
- 执行一次的定时器:setTimeout
- 第一个参数:函数对象
- 第二个参数:毫秒值
- 执行多次的定时器:setInterval
- 清除定时器clearInterval(定时器对象)
三、全局方法(了解)
- parseInt()和parseFloat()函数
Location对象
- href,可以在js中对url进行访问。
- 应用:定时弹出广告页面。
定时跳转到广告网页
- 1.当页面加载成功之后开启一个定时器(只执行,一次的定时器)
- 2.给定时器设置时间为5秒之后执行,定时器中执行的函数为
x window.onload = function(){
setTimeout(function(){
location.href = "http://www.baidu.com"
},5000)
}
定时弹广告的案例
- 1.给首页添加一个div,在div中放置一张广告图片,并设置该div的默认display属性为none(表示隐藏)
- 2.当页面加载完毕的时候开启一个定时器(只执行一次的定时器),5秒后执行。执行的任务是设置div的display属性为block
window.onload = function(){
var ad = document.getElementByid("add")
setTimeout(function(){
ad.style.display = "block"
//并且当广告图片显示4秒钟之后要隐藏广告
setTimeout(function(){
ad.style.display = "none"
},4000)
},5000)
}
轮播图的案例
- 1.当页面加载完毕的时候开启一个周期性执行的定时器,每隔三秒执行一次
- 2.获取轮播图对应的src标签,并在定时器每次执行的时候重新设置图片的src属性
window.onload = function(){
//获取图片标签
var im = document.getElementByid("img1")
//将轮播图的图片放到数组中
var imgs = ["images/1.jpg","images/2.jpg","images/3.jpg"]
//开启一个定期执行的定时器
var i = 0;
setInterval(function(){
//这里就做更改img的src属性的操作
i ++;
if(i == 3){
i=0;
}
img.src = imgs[i];
},3000)
}
表单校验的案例
- 1.给submit按钮绑定点击事件
- 2.当点击submit按钮的时候,判断用户名和密码输入框的value是否为空,如果为空则弹框提示
最低要求:
1.掌握js的变量声明以及运算符、逻辑语句
2.掌握js的两种函数声明方式
3.掌握常见的事件,以及两种事件的绑定方式
4.掌握window对象的三种弹框和两种定时器的使用
5.掌握location对象的href属性的使用