上一篇笔记已经介绍了部分JavaScript的基础知识点,今天继续。
HTML 事件
HTML 事件可以是浏览器行为,也可以是用户行为。
实例:HTML 页面完成加载、HTML input 字段改变时、HTML 按钮被点击
常见的HTML事件
| 事件 | 描述 |
|---|---|
| onchange | HTML 元素改变 |
| onclick | 用户点击 HTML 元素 |
| onmouseover | 鼠标指针移动到指定的元素上时发生 |
| onmouseout | 用户从一个 HTML 元素上移开鼠标时发生 |
| onkeydown | 用户按下键盘按键 |
| onload | 浏览器已完成页面的加载 |
示例:
<button onclick="this.innerHTML=Date()">现在的时间是?</button>
JavaScript 类型转换
数据类型
在 JavaScript 中有 6 种不同的数据类型:
- string
- number
- boolean
- object
- function
- symbol
3 种对象类型:
- Object
- Date
- Array
2 个不包含任何值的数据类型:
- null
- undefined
查看数据类型
使用 typeof 操作符来查看 JavaScript 变量的数据类型。但是使用 typeof 常常会遇到以下问题:
- 无法判断
null。 - 无法判断除了
function之外的引用类型。
typeof 无法精确地判断引用类型,这时,可以使用 instanceof运算符。但是 instanceof 运算符一定要是判断对象实例的时候才是正确的,也就是说,它不能判断原始类型。这时,Object.prototype.toString 出场了,实际项目中要封装判断类型的工具函数一般都是用的它。
调用 Object.prototype.toString 方法,会统一返回格式为 [object Xxx] 的字符串,用来表示该对象。
例:
console.log(Object.prototype.toString.call({})); // '[object Object]'
console.log(Object.prototype.toString.call(function () {})); // "[object Function]'
console.log(Object.prototype.toString.call(/123/g)); // '[object RegExp]'
console.log(Object.prototype.toString.call(new Date())); // '[object Date]'
console.log(Object.prototype.toString.call(new Error())); // '[object Error]'
console.log(Object.prototype.toString.call([])); // '[object Array]'
内置对象
JavaScript 中四种常见的内置对象:
- 数学对象
- 日期对象
- 数组对象
- 字符串对象
数学对象
JavaScript 中的数学对象为 Math,它的内部有一些数学的属性和函数方法。
Math 的常用属性如下表所示:
| 属性 | 描述 |
|---|---|
| Math.E | 自然对数的底数 |
| Math.LN2 | 2 的自然对数 |
| Math.PI | 圆周率 |
| Math.SQRT2 | 2 的平方根 |
Math 的常用方法如下表所示:
| 属性 | 描述 |
|---|---|
| Math.abs(x) | 返回一个数的绝对值。 |
| Math.pow(x, y) | 返回一个数的 y 次幂。 |
| Math.random() | 返回一个 0 到 1 之间的伪随机数。 |
| Math.sqrt(x) | 返回一个数的平方根。 |
| Math.round() | 返回四舍五入后的整数。 |
| Math.exp(x) | 返回欧拉常数的参数次方。 |
日期对象
在 JavaScript 中,日期对象是 Date,用于处理日期和时间。
其常用方法如下所示:
| 方法 | 描述 |
|---|---|
| getDate() | 返回一个月的某一天。 |
| getDay() | 返回一周中的某一天。 |
| getFullYear() | 返回年份。 |
| getHours() | 返回小时。 |
| getMonth() | 返回月份。 |
| getTime() | 返回毫秒数。 |
| setFullYear() | 设置年份。 |
| setDate() | 设置一个月中的某一天。 |
| setMonth() | 设置月份。 |
数组对象
在 JavaScript 中,数组对象是 Array,在其语法格式为:
var 数组名 = new Array(元素1, 元素2,...,元素n);
属性和方法:
slice() 是用来做数组切片操作的,也就是取数组中的部分值
unshift() 可以在数组的头部增加新的元素。
shift() 可以删除数组的首元素。
sort() 可以给数组中的元素从小到大进行排序。
reverse() 可以将数组中的元素进行逆序排列。
join() 可以将数组中的字符拼接成字符串。
length 来获取数组的长度。
concat() 可以将两个数组拼接在一起。
includes() 可以用来判断该数组中是否包含某个元素。
toString() 可以将数组中的值转换成字符串类型。
indexOf() 可以用来查找指定元素的下标值。
字符串对象
定义:
var str = new String("HELLO");
方法:
toLowerCase() 可以把字符串的大写字母转换成小写字母。
toUpperCase() 可以把字符串中的小写字母转换成大写字母。
charAt() 是用于根据指定下标从一个字符串中返回指定的字符。
substring() 可以通过下标来选取字符串中的部分字符。
replace() 可以用来替换指定字符串的内容。
split 可以使用指定的分隔符将一个字符串分割成子字符串数组。
indexOf() 是寻找某个字符在字符串中首次出现的位置。