一、JS中的对象
对象 |
说明 |
内置对象 |
Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、Error、String等 |
自定义对象 |
程序里自己定义的对象 |
宿主对象 |
BOM和DOM |
二、Array数组
1.特点
- js中数据的长度不固定
- js中数组中元素的类型可以不一样
- js中数组下标越界不会异常,访问会返回 undefined
2.数组的定义
- 方式一:
var arr1 = [1,2,3,true,2.1,'hello',null];
- 方式二:
var arr2 = new Array(1,2,3,true,2.1,'hello',null);
3.常用方法
方法 |
说明 |
.length |
返回元素的个数(可设置) |
.indexOf() |
返回某元素的索引值,没有则返回-1 |
.slice( , ) |
按索引截取子数组,前闭后开 |
.push("","") |
往数组尾部添加元素 |
.pop( ) |
把数组尾部最后一个元素弹出 |
.unshift("","") |
往数组头部添加元素 |
.shift( ) |
把数组头部第一个元素弹出 |
.sort( ) |
将数组按某种规律排序 |
.concat([’ ‘,’ ‘,’ ']) |
把新的数组拼接在元数组后并返回(不改变原数组) |
.join("-") |
把数组中的所有元素用设置的分隔符间隔拼接成字符串 |
4.数组的遍历
.forEach( ) 方法
// 类似java中的函数引用
arr.forEach(function(value){
console.log(value);
});
for_in 方法
// for_in 方法是遍历索引
for(var index in arr){
console.log(arr[index]);
}
for_of 方法
// for_of 方法是遍历元素
for(var e of arr){
console.log(e);
}
三、String字符
1.定义
var str = "hello world!";
2.常用方法
方法 |
说明 |
str.length |
返回字符串的长度(包括空格) |
str[index] |
返回索引对应的字符 |
str.toUpperCase() |
所有字符转换成大写 |
str.toLowerCase() |
所有字符转换成小写 |
str.indexOf(’ ') |
获取该字符首次出现的位置索引 |
str.substring(3,5) |
返回剪切后的子字符串(和java一样不对原字符串产生影响) |
四、Date日期
1.定义
var date = new Date();//获取当前日期
2.常用方法
方法 |
说明 |
date.getFullYear() |
获取年份 |
date.getMonth() |
获取月份 |
date.getDate() |
获取日 |
date.getDay() |
获取星期 |
date.getHours() |
获取小时 |
date.getMinutes() |
获取分 |
date.getSeconds() |
获取秒 |
date.getTime() |
获取时间戳 |
date.toLocaleString() |
获取本地日期 |
五、JSON
1.概念
JSON是一种轻量级的数据交换格式。 支持2种数据格式:对象跟数组2种数据。具体支持的值类型有数字、字符串、boolean、null。
var json_obj = '[{"name":"张三","age":18},{"name":"李四","age":28},{"name":"王五","age":38}]';
2.语法
- 对象用花括号{ } 表示
- 数组用中括号[ ] 表示
- 数据表现为键值对,用英文冒号 : 隔开
- 同级数据用英文逗号 , 隔开
3.JSON与JS对象的区别
JSON |
JS对象 |
仅仅是一种数据格式,不属于任何语言 |
表示类的实例 |
可以跨平台传输,速度快 |
不能在JS外传输。 |
表现为键值对,键必须加双引号,值不能是方法函数和undefined/NaN |
也是用键值对方式,但键不加双引号,值可以是函数、对象、字符串、数字、boolean等 |
4.JSON与JS对象相互转换
JS对象转JSON
var json = JSON.stringify(js_obj);
JS对象转JSON时,由于JS对象里可以有函数,而JSON里没有,所以会将JS里原有的函数丢掉。
JSON转JS对象
var js_obj = JSON.parse(json);