每个Object类型所具有的任何属性和方法也同样存在于更具体的对象中
Object的每个实例都具有以下的属性和方法:
-
constructor:保存着用于创建当前对象的函数。例:var o = new Object(); 构造函数就是Object()
-
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中是否存在,propertyName必须是字符串。
-
isPropertyOf(propertyName):用于检查传入的对象是否是当前对象的原型。
-
propertyIsEnumerablle(propertyName):用于检查给定的属性是否能够调用for-in语句来枚举
-
toLocalString():返回对象的字符串表示,该字符串与执行环境的地区对应。
-
toString():返回对象的字符串表示。
-
valueOf():返回对象的字符串数值或布尔值表示。
对象的深拷贝
先将对象进行序列化,再将序列化结果反序列化并赋值给一个新的对象
例:
var obj = {name:”yangjiahao”,age:20,gender:”boy”}
//对这个对象进行序列化
var c = JSON.stringify(obj);
//对生成的字符串进行反序列化
var obj = JSON.parse(c);
这样,就完成了一次对象的深拷贝,两个对象完全相互独立,修改其中一个互补影响
***对象的序列化
将对象转换为字符串,便于数据的传输。
1JSON格式
json就是一种字符串格式
‘{“name”:”yg”,“age”:10}'
把普通的js对象转换成json字符串
JSON.stringify(obj)
2 qs查询字符串
‘username=1052047390&password=yang990920'
转换查询字符串时候需要调用quertstring库
var qs = require(‘query string')
qs.stringify(obj)
反序列化
在json中调用
var obj=JSON.parse(//json对象)
在qs中
var obj=querrystring.parse(//查询字符串)