JSON JavaScript Object Notation,JavaScript 对象表示法
用来传输由属性值或者序列性的值组成的数据对象
JSON 是 JavaScript 的一个子集,但 JSON 是独立于语言的文本格式,并且采用了类似于 C 语言家族的一些习惯。
JSON 数据格式与语言无关,脱胎于 JavaScript,但当前很多编程语言都支持 JSON 格式数据的生成和解析。JSON 的官方 MIME 类型是 application/json,文件扩展名是 .json。
{
"name" : "zhangsan",
"age" : 18,
"gender" : "male"
}
//or
{
"students": [
{ "firstName":"san" , "lastName":"zhang" },
{ "firstName":"si" , "lastName":"li" },
{ "firstName":"wu" , "lastName":"wang" }
]
}
1.常用内置对象:
Array 对象
var a = [1,2,3];
var b = [4,5,6];
var c =["one","two","three"];
console.log(a.concat(b,c)); //打印结果为:[1, 2, 3, 4, 5, 6, "one", "two", "three"]
//join() 方法,将数组转换成字符串。
//pop() 方法,删除并返回数组的最后一个元素。
//push() 方法,向数组的末尾添加一个或更多元素,并返回新的长度。
//reverse() 方法,颠倒数组的顺序。
var a = [1,2,3,4];
a.reverse();
console.log(a); // a 数组变成:[4, 3, 2, 1]。
//shift() 方法,删除并返回数组的第一个元素。
//unshift() 方法,向数组的开头添加一个或更多元素,并返回新的长度。
//slice() 方法,从某个已有的数组返回选定的元素。语法为:
arrayObject.slice(start,end);
//strat 值是必需的,规定从何处开始选取。
//end 值可选,规定从何处结束选取,如果没有设置,默认为从 start 开始选取到数组后面的所有元素。
//splice() 方法,删除或替换当前数组的某些项目。语法为:
arrayObject.splice(start,deleteCount,options)
// start 值是必需的,规定删除或替换项目的位置
// deleteCount 值是必需的,规定要删除的项目数量,如果设置为 0,则不会删除项目。
// options 值是可选的,规定要替换的新项目
// 和 slice() 方法不同的是 splice() 方法会修改数组。
var a = [1,2,3,4,5,6];
a.splice(2,2,"abc");
a; // 最终 a 数组变成了[1, 2, "abc", 5, 6]
//sort() 方法,将数组进行排序。语法为:
arrayObject.sort(sortby);
// sortby 是可选的,规定排序顺序,必需是函数。如果没有参数的话,将会按照字母顺序进行排序,更准确的说是按照字符编码的顺序进行排序。如果想按照其他标准进行排序,则需要提供比较函数。
//toString() 方法,把数组转换为字符串,并返回结果。
String 对象
//String 对象的常用属性:length。获取字符串的长度。
/String 对象的常用方法():
//charAt() 方法,获取指定位置处字符。语法为:
stringObject.charAt(index);
//字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。
var str = "Hello world!";
document.write(str.charAt(2));
//以上代码输出为 l
//charCodeAt() 方法,获取指定位置处字符的 Unicode 编码。语法为:
stringObject.charCodeAt(index);
//字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
var str = "Hello world!";
document.write(str.charCodeAt(2));
//以上代码输出为 l08
Date 对象
Date 对象方法:
Math 对象
Math 对象的常用属性:
Math 对象的常用方法:
2.创建对象和访问对象
//通过 new Object() 创建对象
//this:谁调用 this,它就是谁。
var student = new Object();
student.name = 'zhangsan',
student.age = 18,
student.gender = 'male',
student.sayHi = function () {
console.log("hi,my name is "+this.name);
}
//通过工厂函数创建对象
function createStudent(name, age, gender) {
var student = new Object();
student.name = name;
student.age = age;
student.gender = gender;
student.sayHi = function(){
console.log("hi,my name is "+this.name);
}
return student;
}
var s1 = createStudent('zhangsan', 18, 'male');
//自定义构造函数
function Student(name,age,gender){
this.name = name;
this.age = age;
this.gender = gender;
this.sayHi = function(){
console.log("hi,my name is "+this.name);
}
}
var s1 = new Student('zhangsan', 18, 'male');
通过 for...in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
var student = {
name: 'zhangsan',
age: 18,
gender: 'male'
};
for(var key in student) {
console.log(key);
console.log(student[key]);
}
//使用 delete 删除对象的属性。比如在控制台中输入以下代码:
var student = {
name: 'zhangsan',
age: 18,
gender: 'male'
};
student.name; // "zhangsan"
delete student.name;
student.name; // undefined
一个函数,格式化日期对象,最终输入形式为:yyyy/MM/dd HH:mm:ss。
写一个函数去掉数组中的重复元素。比如有一个数组 array=["x","c","a","b","c","b","c"]。
写一个函数判断一个字符串中出现次数最多的字符,并统计这个次数。比如有这样一个字符串:"daskljahiagnaknscsjdwfanalvnahdpwod"。