JavaScript入门基础--对象
2017-05-17 22:09
417 查看
JavaScript入门基础--对象
1.对象也是变量,但对象可以包含多个值(多个变量)
对象属性:键值对 name : value,对象的属性是无序的
2.创建对象
① var obj = { x : 1, y : 1} ;
②new/原型链 : function foo(){}
var obj = new foo();
3.属性操作
例1: var obj = { x : 1, y : 2};
读: obj.x
obj ["y"]
增:obj.z = 3;
删:delete obj.x
delete obj [" y " ]
注:obj.prototype是不能被删除的
全局变量,局部变量,全局函数,局部函数 大多情况下都是不可以被 delete的
查:获取一个属性中的所有标签
var desc = Object.getOwnPropertyDescriptor ( Object , ' prototype ');
//Object:查看的对象, prototypr:要检测的属性
desc.configurable; //是否可配置,返回false或true
4.属性检测
例2:var cat = new Object;
cat.legs = 4;
cat.name = " kitty ";
in: 会(原型链)向上 查找 。
如: ‘legs’ in cat //返回 true ,
'aaa
4000
' in cat; //返回false ,
"toString" in cat ; // 返回true,inherited property
hasOwnProperty():
查找对象上是否属性是否存在。
如:cat.hasOwnProperty(' legs '); // 返回true
cat.hasOwnProperty(' toString '); // 返回false
propertyIsEnumerable(): 属性是否可以被枚举 。
如:cat.propertyIsEnumerable('legs'); //true
cat.propertyIsEnumerable('toString');//false
defineProperty():添加对象属性
如:Object.defineProperty(cat, ' price ',{ enumerable : true, values : 10000 });
// cat:选择的对象,price:要添加的属性 enumberable: 是否可以被枚举,若不设置默认false
区别: if(cat.legs != undefined){} // 表示不等于 undefine,也不等于 null
if(cat.legs !== undefined){} // 表示不等于undefine
5.属性getter / setter方法
例3:
var man = {
get age(){
return 12;
},
set age( a ){
console.log('我的年龄' + a);
}
}
console.log(man.age);
//自动调用get()方法,返回12
man.age = 100; //自动调用set()方法
console.log(man.age); //我的年龄 100
6.属性标签
value: 值
writable:是否可以写嗯,修改.设置默认false
enumerable:是否可以被遍历,枚举,设置默认false
configurable:上述标签(writable,enumerable)是否可再修改,是否可以delete,设置默认false
1.对象也是变量,但对象可以包含多个值(多个变量)
对象属性:键值对 name : value,对象的属性是无序的
2.创建对象
① var obj = { x : 1, y : 1} ;
②new/原型链 : function foo(){}
var obj = new foo();
3.属性操作
例1: var obj = { x : 1, y : 2};
读: obj.x
obj ["y"]
增:obj.z = 3;
删:delete obj.x
delete obj [" y " ]
注:obj.prototype是不能被删除的
全局变量,局部变量,全局函数,局部函数 大多情况下都是不可以被 delete的
查:获取一个属性中的所有标签
var desc = Object.getOwnPropertyDescriptor ( Object , ' prototype ');
//Object:查看的对象, prototypr:要检测的属性
desc.configurable; //是否可配置,返回false或true
4.属性检测
例2:var cat = new Object;
cat.legs = 4;
cat.name = " kitty ";
in: 会(原型链)向上 查找 。
如: ‘legs’ in cat //返回 true ,
'aaa
4000
' in cat; //返回false ,
"toString" in cat ; // 返回true,inherited property
hasOwnProperty():
查找对象上是否属性是否存在。
如:cat.hasOwnProperty(' legs '); // 返回true
cat.hasOwnProperty(' toString '); // 返回false
propertyIsEnumerable(): 属性是否可以被枚举 。
如:cat.propertyIsEnumerable('legs'); //true
cat.propertyIsEnumerable('toString');//false
defineProperty():添加对象属性
如:Object.defineProperty(cat, ' price ',{ enumerable : true, values : 10000 });
// cat:选择的对象,price:要添加的属性 enumberable: 是否可以被枚举,若不设置默认false
区别: if(cat.legs != undefined){} // 表示不等于 undefine,也不等于 null
if(cat.legs !== undefined){} // 表示不等于undefine
5.属性getter / setter方法
例3:
var man = {
get age(){
return 12;
},
set age( a ){
console.log('我的年龄' + a);
}
}
console.log(man.age);
//自动调用get()方法,返回12
man.age = 100; //自动调用set()方法
console.log(man.age); //我的年龄 100
6.属性标签
value: 值
writable:是否可以写嗯,修改.设置默认false
enumerable:是否可以被遍历,枚举,设置默认false
configurable:上述标签(writable,enumerable)是否可再修改,是否可以delete,设置默认false
相关文章推荐
- 网站前端_JavaScript-基础入门.0009.JavaScript对象类型
- JS基础学习第六天:JavaScript对象入门(构造函数和实例对象)
- 网站前端_JavaScript-基础入门.0014.JavaScript内置对象
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- JavaScript入门——覆盖输出与对象基础示例
- JavaScript基础系列14---面向对象入门
- JavaScript-基础入门.0014.JavaScript内置对象
- 零基础入门-javaScript学习笔记之对象和不一样的this
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- javascript入门·Document对象入门讲解(访问表单,创建新页,获取页标题)
- javascript高级程序设计学习笔记--第三章对象基础
- Javascript入门学习第一篇 js基础第1/2页
- javascript入门经典学习四(对象,流程控制,函数)
- ajax 入门基础之--XMLHttpRequest对象总结
- JavaScript入门教程(8) Location地址对象
- Javascript入门学习第四篇 js对象和数组第1/2页
- JavaScript对象基础
- JavaScript入门教程(10) 认识其他对象
- javascript入门· javascript math对象演示
- Javascript入门学习第一篇 js基础第1/2页