js基础
一、js简介
1. 什么是js
- JS:全拼是JavaScript。是web开发中不可缺少的脚本语言,不需要编译就能运行(解释型语言)。它“寄生”在html体内,随网络传输到客户端,在浏览器里运行。
2. js有什么作用
- 实现页面的动态效果的
- 操作浏览器
- 操作网页
3. js的语法组成
网景,NetScape,网景浏览器,Firefox,LiveScript,Microsoft的IE,JScript,ECMA
- ECMAScript:规定了js的基本语法
- BOM:Browser Object Model,浏览器对象模型。js可以调用BOM对象,来操作浏览器
- DOM:Document Object Model,文档对象模型。js可以调用DOM对象,来操作网页
4. js的引入方式
<!--1.内部js --> <script> alert(); </script> <!--2.外部js --> <script src="js文件路径"></script>
- 注意:
- 一个script标签的功能要单一
- js越晚加载越好,建议放在body结束标签之前
二、js的基本语法
1. 基本语法
1.1 变量定义
js是弱类型语言
- js里一切变量定义,都作用:var
1.2 数据类型
js是动态类型语言
- boolean:布尔类型,true/false
- number:数字类型,一切数字都是number类型
- string:字符串类型
- object:对象类型,包含任意对象和null
- undefined:未定义类型,值只有一个:undefined
1.3 运算符
- js也有:
+,-,*,/,%,+=,-=,*=,/=,%=,++,--,>,<,=,>=,<=,==,!=,&&,||,!
- 需要说明的有:
==
和===
:
==
:比较值。只要值一样,就是true===
:比较值和类型。只有值和类型都一样,才是true
-*/
:
- 如果是数字,正常运算
- 如果不是数字,js会尝试转换成数字再运算
- 如果转换不成功,结果是NaN
- 如果除数是0,结果是Infinity
1.4 流程控制语句
- js也有:
if, else, else if, while, switch, for
- 特殊的是:if判断时,false, 0, "", null, undefined是false,其它是true
2. ==函数==
2.1 普通函数
//1.定义一个普通函数 function 函数名(形参1, 形参2, ...){ //函数体 //如果需要返回值,就return;否则就不return } //2.调用 一个普通函数 var result = 函数名(实参1,实参2, ...);
2.2 匿名函数
//1. 把匿名函数赋值给一个变量,通过变量名调用匿名函数 var fn = function(a, b){ return a+b; } var result = fn(1, 2); //2. 把匿名函数作为另外一个函数的实参 setInterval(function(){ alert(); }, 2000);
2.3 注意事项
- js的函数没有重载,同名函数会覆盖掉,最后一个有效
- js的形参个数和实参个数无关,在函数里可使用使用隐含的arguments(实参数组)获取所有的实参值
3. ==事件==
3.1 相关的概念
- 事件源:被监听的对象,通常是html标签
- 事件(监听器):用于监听事件源状态变化的组件,由js提供的不同的事件(监听器),用于监听不同的状态变化
- 响应行为:监听到事件源状态变化、或者发生了动作,要执行的代码,我们自己编写
3.2 常见的事件
事件(监听器) | 描述,监听什么 |
onclick | 监听鼠标单击 |
ondblclick | 监听鼠标双击 |
onsubmit | 监听表单提交了 |
onchange | 监听域内容改变,通常用于监听下拉框的选项变化 |
onload | 监听加载完成,通常用于监听浏览器加载完了页面 |
onfocus | 监听获取焦点(光标) |
onblur | 监听失去焦点(光标) |
onkeydown | 监听键盘按键按下 |
onkeypress | 监听键盘按键按下或按住 |
onkeyup | 监听键盘按键弹起 |
onmousedown | 监听鼠标按键按下 |
onmouseup | 监听鼠标按键弹起 |
onmouseover | 监听鼠标移入 |
onmouseout | 监听鼠标移出 |
onmousemove | 监听鼠标移动 |
3.3 事件绑定
- 普通函数方式
<input type="button" value="点击弹窗1" οnclick="show1()"> <script> function show1() { alert("点我干嘛"); } </script>
- 匿名函数方式
<input type="button" value="点击弹窗2" id="btn2"> <script> document.getElementById("btn2").onclick = function(){ alert("点我干嘛"); } </script>
三、js操作浏览器(bom)
1. bom简介
- BOM:Browser Object Model,浏览器对象模型。
- 目的:让js代码调用bom对象的方法,来操作浏览器
- 有哪些bom对象:
- window:浏览器窗口对象,是其它bom对象的顶级对象
- location:浏览器地址对象,可以实现网页跳转
- history:浏览器历史记录对象,可以实现历史记录切换
- screen:浏览器的屏幕显示信息对象,可以操作浏览器窗口大小、位置、颜色等信息
- navigator:浏览器信息对象,只读的。可以获取浏览器的内核、版本、操作系统等信息
2. 使用bom操作浏览器
2.1 window对象
2.1.1 让浏览器弹窗
- 普通弹窗:alert(string),没有返回值
- 确认弹窗:confirm(string),返回boolean:点击确定返回true,点击取消返回false
- 输入弹窗:prompt(string),返回string:点击确定返回输入的内容,点击取消返回null
2.1.2 让浏览器开启定时器
- 执行多次的定时器:
- 开启:
var timer = setInterval(函数对象, 间隔毫秒值)
- 清除:
clearInterval(timer)
//开启定时器 var timer = setInterval(function () { alert(); }, 3000); //清除定时器 clearInterval(timer);
- 执行一次的定时器(延时器):
- 开启:
var timer = setTimeout(函数对象, 延迟毫秒值)
- 清除:
clearTimeout(timer)
//开启定时器 var timer = setTimeout(function(){ alert(); }, 2000); //清除定时器 clearTimeout(timer);
2.1.3 提供了一些函数
parseInt(string)
:转换成整数parseFloat(string)
:转换成小数eval(string)
:把字符串作为js代码执行一次
2.2 location对象
- 获取网址:
var url = location.href;
- 网址跳转:
location.href = "http://www.baidu.com"
- 刷新页面:
location.reload()
2.3 history对象
四、js操作网页
内容回顾
- 知道js的作用:实现页面动态效果
- 操作浏览器
- 操作网页
- 了解js的基本语法:
- 变量定义:var
- 数据类型:boolean, number, string, object, undefined
- 运算符:+-*/><.....
==
:比较值,值一样就是true;===
比较值和类型,都一样才是true-*/
:js会转换成数字再运算。如果转换不成功结果是NaN
- 流程控制语句:
if, else, else if, for, while, switch
if
判断:false, 0, "", null, undefined是false,其它是true
- ==掌握js的函数定义和调用==
- 普通函数
- 匿名函数
- js的函数没有重载
- ==掌握事件的绑定==
- 普通函数方式
- 匿名函数方式
- js如何操作浏览器
- 通过window对象操作浏览器窗口
- 让浏览器弹窗:
alert()
,confirm()
,prompt()
- 让浏览器开启定时器:
setInterval()
,setTimeout()
- 提供了一些方法
- 通过location对象操作地址
- 获取网址:
location.href
- 网址跳转:
location.href = ""
- 刷新页面:
location.reload()