
一、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( ) 方法
arr.forEach(function(value){
console.log(value);
});
for_in 方法
for(var index in arr){
console.log(arr[index]);
}
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);