1.js内置对象
作为一门编程语言,JavaScript提供了一些内置的对象和函数。内置对象提供编程的几种最常用的功能。JavaScript内置对象有以下几种。
● String对象:处理所有的字符串操作
● Math对象:处理所有的数学运算
● Date对象:处理日期和时间的存储、转化和表达
● Array对象:提供一个数组的模型、存储大量有序的数据
● Event对象:提供JavaScript事件的各种处理信息
内置对象都有自己的方法和属性,访问的方法如下:
对象名.属性名称
对象名.方法名称(参数表)
(1).时间对象
时间对象是JavaScript的内置对象,使用前必须先声明。
基本语法
var curr=new Data();
注意这里的关键字new的用法,Data()的首字母必须大写。
语法解释
利用new来声明一个新的对象实体。使用new操作符的语法如下:
实例对象名称=new对象名称(参数列表)
Date对象提供了以下3类方法:
● 从系统中获得当前的时间和日期
● 设置当前的日期和时间
● 在时间、日期同字符串之间完成转换
下表介绍了最常用的获得系统的时间和日期的方法
Date对象中处理时间和日期的方法
方 法 种 类 | 方 法 名 称 | 功 能 描 述 |
获得时间或日期 | getDate | 获得当前的日期 |
获得时间或日期 | getDay | 获得当前的天 |
获得时间或日期 | getHours | 获得当前的小时 |
获得时间或日期 | getMinutes | 获得当前的分钟 |
获得时间或日期 | getMonth | 获得当前的月份 |
获得时间或日期 | getSeconds | 获得当前的秒 |
获得时间或日期 | getTime | 获得当前的时间(毫秒为单位) |
获得时间或日期 | getTimeZoneOffset | 获得当前的时区偏移信息 |
获得时间或日期 | getYear | 获得当前的年份 |
(2).字符串对象
一般利用String对象提供的函数来处理字符串。String对字符串的处理主要提供了下列方法。
● charAt(idx):返回指定位置处的字符
● indexOf(Chr):返回指定子字符串的位置,从左到右。找不到返回-1。
● lastIndexOf(chr):返回指定子字符串的位置,从右到左。找不到返回-1。
● toLowerCase():将字符串中的字符全部转化成小写。
● toUpperCase():将字符串中的字符全部转化成大写。
2.对象
定义
无序的数据集合
键值对的集合
①属性名:每个key都是对象的属性名(property)
②属性值:每个value都是对象的属性值
写法
let obj = { 'name': 'frank', 'age': 18 }
let obj = new Object({'name': 'frank'})
console.log({ 'name': 'frank, 'age': 18 })
- 键名是字符串,不是标识符,可以包含任意字符
- 引号可省略,省略之后就只能写标识符
- 就算引号省略了,键名也还是字符串(重要)
变量做属性名(key)
如何用变量做属性名
之前都是用常量做属性名
let p1 = 'name'
let obj = { p1 : 'frank'} 这样写,属性名为 'p1'
let obj = { [p1] : 'frank' } 这样写,属性名为 'name'
对比
不加 [ ] 的属性名会自动变成字符串
加了 [ ] 则会当做变量求值
值如果不是字符串,则会自动变成字符串
对象的隐藏属性
隐藏属性
JS 中每一个对象都有一个隐藏属性
这个隐藏属性储存着其共有属性组成的对象的地址
这个共有属性组成的对象叫做原型
也就是说,隐藏属性储存着原型的地址
代码示例
var obj = {}
obj.toString() // 居然不报错
因为 obj 的隐藏属性对应的对象上有 toString()
3.事件
事件举例:
- 鼠标点击
- 页面或图像载入
- 鼠标悬浮于页面的某个热点之上
- 在表单中选取输入框
- 确认表单
- 键盘按键
事件三要素
事件源、事件、事件驱动程序。
三句话:获取事件源、绑定事件、书写事件驱动程序。
1.获取事件源:document.getElementById(“box”);
2.绑定事件: box.onclick = function(){ 程序 };
3.书写事件驱动程序:以后要学习的关于DOM的操作
行内绑定事件:
a.窗口事件,只在body和frameset元素中才有效
onload 页面或图片加载完成时
onunload 用户离开页面时
b.表单元素事件,在表单元素中才有效
onchange 框内容改变时
onsubmit 点击提交按钮时
onreset 重新点击鼠标按键时
onselect 文本被选择时
onblur 元素失去焦点时
onfocus 当元素获取焦点时
c.键盘事件,在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里都无效
onkeydown 按下键盘按键时
onkeypress 按下或按住键盘按键时
onkeyup 放开键盘按键时
d.在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里都无效
onclick 鼠标点击一个对象时
ondblclick 鼠标双击一个对象时
onmousedown 鼠标被按下时
onmousemove 鼠标被移动时
onmouseout 鼠标离开元素时
onmouseover 鼠标经过元素时
onmouseup 释放鼠标按键时
onmousedown->onmouseup->onclick;这三个事件一起使用的触发顺序
e.其他
onresize 当窗口或框架被重新定义尺寸时
onabort 图片下载被打断时
onerror 当加载文档或图片时发生错误时
自定义对象:有初始化对象和定义构造函数的对象两种方法
a:初始化对象
例如: 对象={属性1:值1;属性2:值2;......属性n:值n} 注意:每个属性/值对之间用分号隔开;
b: 定义构造函数的对象
例如:
function 函数名(属性1, 属性2,......属性N){undefined
this.属性1=属性值1;
this.属性2=属性值2;
this.属性n=属性值n;
this.方法名1=函数名1;
this.方法名2=函数名2;
}
注:方法名和函数名可以同名,但是在方法调用函数前,函数必须已经定义好,否则会出错为自定义的函数创建新的实例一样是使用 new 语句。