2.10.内置对象
Arguments 只在函数内部定义,保存了函数的实参
Array 数组对象
Date 日期对象,用来创建和获取日期
Math 数学对象
String 字符串对象,提供对字符串的一系列操作
2.10.1.String
charAt(idx) 返回指定位置处的字符
indexOf(Chr) 返回指定子字符串的位置,从左到右。找不到返回-1
substr(m,n) 返回给定字符串中从m位置开始,取n个字符,如果参数n省略,则意味着取到字符串末尾。 substring(m,n) 返回给定字符串中从m位置开始,到n位置结束,如果参数n省略,则意味着取到字符串末尾。 toLowerCase() 将字符串中的字符全部转化成小写。
toUpperCase() 将字符串中的字符全部转化成大写。
length 属性,不是方法,返回字符串的长度。
2.10.2.Math
Math.random( ) 随机数
Math.ceil() 向上取整,大于最大整数
Math.floor() 向小取整,小于最小整数String
2.10.3.Date
// 获取日期
getFullYear() 年
getMonth() 月
getDate() 日
getHours() 时
getMinutes() 分
getSeconds() 秒
// 设置日期
setYear()
setMonth()
setDate()
setHours()
setMinutes()
setSeconds( )
toLoacaleString()转换成本地时间字符串
说明:
getMonth():得到的值:0~11(1月~12月)
setMonth():设置值时0~11
toLocaleString():可根据本地时间把Date对象转换为字符串,并返回结果。
2.11.对象
对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。
JavaScript提供多个内建对象,比如 String、Date、Array等等。对象是带有属性和方法的特殊数据类型。
简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。通过JavaScript我们可以创建自己的对象。JavaScript对象满足的这种”键值对"的格式我们称为JSON格式,以后会见得非常多,即伟大的JSON对象。
{
键:值;
键2:值2;
...
}
2.11.1.对象的创建
对象的创建:
1.字面量形式创建
var 对象名 = {};//空对象
var 对象名 = {
键:值;
键:值;
...
}
2.通过new Object创建
var 对象名 = new Object();//空对象
3.通过Object对象的create方法创建
var 对象名 = Object.create(null);//空对象
var 对象名 = Object.create(对象);
2.11.2.对象的操作:
获取对象的属性(如果属性不存在,则获取null):对象名.属性名
设置对象属性:对象名.属性名 = 值;(如果属性存在则修改属性值,如果属性不存在则添加属性值。)
2.11.3.对象的序列化和反序列化
序列化,即将JS对象(JSON对象)转换成JSON字符串;反序列化,即将JSON字符串转换成JS对象(JSON对象)。JS中通过调用JSON方法,可以将对象序列化成字符串,也可以将字符串反序列化成对象。
//1 序列化对象,将对象转为字符串
JSON stringify(对象);
// 反序列化,将一个Json字符串转换为对象。
JSON.parse(JSON字符串);
2.11.4.this
this是JavaScript语言的一个关键字。
它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。
1.直接调用函数,this代表的全局的window对象
2.调用对象中的函数,this代表的是对象本身
3.JS事件
3.1.事件
事件(Event)是JavaScript应用跳动的心脏,进行交互,使网页动起来。当我们与浏览器中Web页面进行某些类型的交互时,事件就发生了。事件可能是用户在某些内容上的点击、鼠标经过某个特定元素或按下键盘上的某些按键。事件还可能是Web浏览器中发生的事情,比如说某个Web页面加载完成,或者是用户滚动窗口或改变窗口大小。
通过使用JavaScript,你可以监听特定事件的发生,并规定让某些事件发生以对这些事件做出响应。
3.2.作用
(1)验证用户输入的数据。
(2)增加页面的动感效果。
(3)增强用户的体验度
3.3.事件中的几个名词
事件源:给什么元素/标签绑定事件
事件名:绑定什么事件
事件监听:浏览窗口
事件处理:事件触发后执行什么代码
例如
闯红灯 事件源:车; 事件名:闯红灯; 监听:摄像头、交警; 处理:扣分罚款
单击按钮 事件源:按钮; 事件名:单击; 监听:窗口; 处理:执行函数
当我们用户在页面中进行的点击动作,鼠标移动的动作,网页页面加载完成的动作等,都可以称之为事件名称,即:click、mousemove、load等都是事件名称,具体的执行代码处理,响应某个事件的函数。
<body onload="loadWindow();"></body>
<script>
function loadWindow()(
alert("加载窗体”);
) I
</script>
onload事件:当文档(HTML页面)加载完毕后执行
onclick事件:单击事件(点击事件)
3.4.事件类型
JavaScript可以处理的事件类型为:鼠标事件、键盘事件、HTML事件。
http://www.w3school.com.cn/tags/html_ref_eventattributes.asp 用+查
Window事件属性:针对window对象触发的事件(应用到<body>标签)
Form事件:由 HTML表单内的动作触发的事件(应用到几乎所有HTML元素,但最常用在form元素中)Keyboard事件:键盘事件
Mouse事件:由鼠标或类似用户动作触发的事件
Media事件:由媒介(比如视频、图像和音频)触发的事件(适用于所有HTML元素,但常见于媒介元素中,比如<audio>、<embed>、<img>、<object>以及<video>)
几个常用的事件:
onclick、onblur、onfocus、onload、onchange
onmouseover、onmouseout、onkeyup、onkeydown
onload:当页面或图像加载完后立即触发
onblur:元素失去焦点
onfocus:元素获得焦点
onclick:鼠标点击某个对象
onchange:元素的值改变时发生的事件
onmouseover:鼠标移动到某个元素上
onmouseout:鼠标离开事件
onkeyup:某个键盘的键被松开
onkeydown:某个键盘的键被按下
3.5事件流和事件模型
我们的事件最后都有一个特定的事件源,暂且将事件源看做是HTML的某个元素,那么当一个 HTML元素产生一个事件时,该事件会在元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会受到该事件,这个传播过程称为DOM事件流。
事件顺序有两种类型:事件捕获 和 事件冒泡。
冒泡和捕获其实都是事件流的不同表现,这两者的产生是因为IE和Netscape两个大公司完全不同的事件流概念产生的。(事件流:是指页面接受事件的顺序)IE的事件流是事件冒泡,Netscape的事件流是事件捕获流
3.5.1.事件冒泡:事件开始时由最初的元素接收,然后逐级向上传播到较为不具体的节点(文档)
3.5.2.事件捕获:事件开始时由文档节点接收,然后逐级向下传播到具体的元素节点。
3.5.3.DOM事件流
"DOM2级事件"规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。首先发生的是事件捕获阶段,为截获事件提供了机会。然后是实际的目标接收到事件。最后一个阶段是冒泡阶段,可以在这个阶段对事件做出响应。
3.6.事件处理程序(事件绑定方式)
3.6.1.HTML事件处理程序:直接在HTML上绑定事件
3.6.2.DOM0级事件:先获取事件源,再给事件源绑定事件。不能同时给元素绑定相同事件多次
3.6.3.DOM2级事件:事件源.addEventListener("事件类型",执行函数, true);
注意:通过id属性值获取节点对象
document.getElementById("id属性值");