javascript对象的学习与总结
2016-04-07 08:29
483 查看
一.对象是javascript的基本数据类型,是一种复合值,是属性的容器,属性是由键值对组成的。
二.Js中对象分为:内置对象,宿主对象,自定义对象
三.对象的创建
(1)对象直接量:由若干个名/值对组成的映射表,是一个表达式,这个表达式的每次运算都创建并初始化一个新的对象。
例如:
var empty_oject={};定义没有任何属性的对象
var point={x:0,y:0};定义两个属性的对象
var stooge={
name:”xiyin”,
sex:”girl”,
“first-name”:”xi”
}
在对象自面量中,如果属性名是一个合法的javascript标示符且不是保留字,则可以不适用引号括住属性名,而上面的first-name是不合法的命名,所以。
(2)通过new创建对象:创建并初始化一个新对象,关键字new后面跟随一个函数(称为构造函数)调用。
例如: var 0=new Object();//创建一个空对象, 与var 0={};等同 var a =new Array();//创建一个空数组,与 var a=[];等同 var d=new Date();//创建一个表示当前事件的Date对象(3)Object.create(),ES5定义的,用来创建一个新对象,,第一参数,是这个对象的原型,第二个是可选的参数,用来对对象属性进行进一步的描述
Var o3=Object.create(Object.prototype); 与Var 0=new Object();//创建一个空对象, 与var 0={};等同四.对象属性的查询(检索)和设置(更新),删除属性 (1)可以通过.号或者方括号【】,来获取属性的值
Object.property
Object[“property”]
(2)对象里的值可以通过赋值语句来更新,如果属性名已经存在于对象里,那么这个属性的值就会被替换,如果对象之前没有那个属性名,那么该属性就被扩充到对象中。
Stooge[“first-name”]=”yin”;
(3)delete运算符可以删除对象的属性 delete stooge[“first-name”],delete运算符只能删除自有属性,不能删除继承属性
五.检测属性:判断某个属性是否存在于某个对象中 (1)In运算符:左侧是属性名(字符串),右侧是对象,如果对象的自有属性,或者继承属性中包含这个属性,则返回true.
var o={x:1}
“x” in o //true
“y”in o //false
“toString” in o //true o继承toString属性
(2)对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性,对于继承属性它则返回false.
(3)propertyIsEnumerable(),只有检测到是自有属性且这个属性的可枚举性为true时,它才返回true
六.序列化对象 序列化对象是指对象的状态转换为字符串,也可将字符串还原为对象。
ES5提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原为javascript对象(JSON--javascript object notation javascript对象表示法)
七.对象方法
(1)toString()方法,没有参数,返回一个表示调用这个方法的对象值的字符串
二.Js中对象分为:内置对象,宿主对象,自定义对象
三.对象的创建
(1)对象直接量:由若干个名/值对组成的映射表,是一个表达式,这个表达式的每次运算都创建并初始化一个新的对象。
例如:
var empty_oject={};定义没有任何属性的对象
var point={x:0,y:0};定义两个属性的对象
var stooge={
name:”xiyin”,
sex:”girl”,
“first-name”:”xi”
}
在对象自面量中,如果属性名是一个合法的javascript标示符且不是保留字,则可以不适用引号括住属性名,而上面的first-name是不合法的命名,所以。
(2)通过new创建对象:创建并初始化一个新对象,关键字new后面跟随一个函数(称为构造函数)调用。
例如: var 0=new Object();//创建一个空对象, 与var 0={};等同 var a =new Array();//创建一个空数组,与 var a=[];等同 var d=new Date();//创建一个表示当前事件的Date对象(3)Object.create(),ES5定义的,用来创建一个新对象,,第一参数,是这个对象的原型,第二个是可选的参数,用来对对象属性进行进一步的描述
Var o3=Object.create(Object.prototype); 与Var 0=new Object();//创建一个空对象, 与var 0={};等同四.对象属性的查询(检索)和设置(更新),删除属性 (1)可以通过.号或者方括号【】,来获取属性的值
Object.property
Object[“property”]
(2)对象里的值可以通过赋值语句来更新,如果属性名已经存在于对象里,那么这个属性的值就会被替换,如果对象之前没有那个属性名,那么该属性就被扩充到对象中。
Stooge[“first-name”]=”yin”;
(3)delete运算符可以删除对象的属性 delete stooge[“first-name”],delete运算符只能删除自有属性,不能删除继承属性
五.检测属性:判断某个属性是否存在于某个对象中 (1)In运算符:左侧是属性名(字符串),右侧是对象,如果对象的自有属性,或者继承属性中包含这个属性,则返回true.
var o={x:1}
“x” in o //true
“y”in o //false
“toString” in o //true o继承toString属性
(2)对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性,对于继承属性它则返回false.
(3)propertyIsEnumerable(),只有检测到是自有属性且这个属性的可枚举性为true时,它才返回true
六.序列化对象 序列化对象是指对象的状态转换为字符串,也可将字符串还原为对象。
ES5提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原为javascript对象(JSON--javascript object notation javascript对象表示法)
七.对象方法
(1)toString()方法,没有参数,返回一个表示调用这个方法的对象值的字符串
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- Python动态类型的学习---引用的理解
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解