对象
js 的对象都是obj对象衍生出来的
对象.属性名 = 赋值;
var obj = new Object();
//添加属性
obj.name = "张无忌";
obj.age = 28;
obj.job = "教主";
console.log(obj);
//对象.属性
console.log(obj.age);
//对象删除属性 delete 关键字删除属性
delete obj.job;
console.log(obj);
可以通过 obj对象封装数据 转换成对象
function factory(name,age){
var obj = new Object();
obj.age = age;
obj.name = name;
return obj;
}
//通过factory 这个方法创建对象
var fac = factory("张三",34);
console.log(fac);
还可以简化为如下形式,使用this关键字
function Person(name,age){
console.log(this);
this.age = age;
this.name = name;
}
var p1 = new Person("张三丰",100);
var p2 = new Person("范瑶",30);
prototype 指向了 其他对象的引用
// 类似java中 在 java 类中添加了一个方法
// 其他所有的对象都可以使用这个方法
Person.prototype.eat=function(){
console.log("我们都要吃饭");
}
//所有的对象 都可以使用eat方法
p1.eat();
p2.eat();
js中的继承
function Person(name,age){
this.name = name;
this.age = age;
}
function Stu(sno){
this.sno = sno;
}
// prototype 属性指向 Person
Stu.prototype = new Person("aa",33);
var stu1 = new Stu(1001);
var stu2 = new Stu(1001);
console.log(stu1.name);
console.log(stu1.age);
console.log(stu2.name + stu2.age);
json对象
json 对象 { 开始 } 结束
k是字符串 使用 : 和值分开
v 是值 (可以是对象.number ,string ...)
k-v 和k-v 用,隔开;
var jsonObj = {
"name":"张三","age":34};
// 通过对象点属性 获取值
console.log(jsonObj.name);
console.log(jsonObj.age);
json对象可以数组
var jsonObj2 = [10,20,30];
json 可以嵌套
var jsonObj3 = {
"name":"张三",
"age":34,
"dog":{
"name":"旺财",
"age":2
}
};
// 先拿到 dog 对象
var dogName = jsonObj3.dog.name;
console.log(dogName);
js中字符串和json对象的互相转化
json k 是字符串 可以省略
var json1 = {
name:"aa",age:20};
console.log(json1);
console.log(typeof json1);
// 把json对象转成字符串
var jsonStr = JSON.stringify(json1);
console.log(jsonStr);
console.log(typeof jsonStr);
//把json字符串转成 json对象
var jsonStr1 = '{"name":"aa","age":20}';
// JSON.parse() 把字符串转成json
var jsonObj = JSON.parse(jsonStr1);
console.log(jsonObj.name + jsonObj.age);
java中字符串和json对象的互相转化
1.把对象转成json字符串
框架 fastJson 阿里巴巴 产品 下载jar 地址 https://mvnrepository.com/
String jsonString = JSON.toJSONString