<script type="text/javascript">
*/
// 属性的设置和获取
var obj = {};
obj.name = "fxb";
obj['age'] = 22;
// 属性的提取方式有以下两种方式 一个是 '.' 一个是obj['属性名']
console.log(obj.age);
console.log(obj['name'])
var o = {};
o.name = 'fff';
// 如果是 变量,那么可以用o[nameA]把数据提取出来,不加‘’号,nameA变量指向属性'name'
var nameA = 'name';
console.log(o[nameA]);
</script>
声明式函数和变量函数
<script type="text/javascript">
function add(a,b){
alert(a+b);
return (a+b);
};
var add1 = function(a,b){
alert(a+b);
return (a+b);
}
</script>
删除属性
delete obj.name;
检测属性
// 检测属性是否在对象中
console.log('name' in o);
console.log(o.hasOwnProperty('name'));
// 不等于是true
console.log(o.name !== 'undefined');
三个等号
// = 赋值
// == 比较值
// === 比较值和类型
枚举属性
// 枚举属性
// for in
var o = {x:1,y:2,z:3};
for(a in o ){
console.log(a) //x y z
console.log(o[a]); // 1 2 3
}
// 数组对象
var arr = [{x:1,y:2,z:3},{x:1,y:2,z:3},{x:1,y:2,z:3},{x:1,y:2,z:3}]
var arr1 = [{x:1},{y:2},{z:3}]
for(a in arr1){
// console.log(a);
console.log(arr1[a]);
}
/*// 便利数组的时候用到以下两种方式
// 同步
for (var i = Things.length - 1; i >= 0; i--) {
Things[i]
}
或者
//异步
$.each(arr,function(index,item){
})*/
序列化对象
// 序列化对象
var o = {x:1,y:2,z:3};
// 转成字符串
// console.log(typeof(JSON.stringify(o)));
// 字符串转成对象obj
var str = JSON.stringify(o);
// console.log(typeof(JSON.parse(str)));
// JSON.parse()深拷贝
// 深拷贝 浅拷贝(引用)
举个例子:找出对象数组中,有a属性的对象 并显示ok
<script type="text/javascript">
var arr = [{a:1,b:2,z:3},{xf:1,y:2,z:3},{e:1,y:2,z:3},{r:1,y:2,z:3}]
/*for( var i = 0 ;i < arr.length; i++){
if(arr[i].hasOwnProperty('a')){
console.log("ok");
}else{
console.log("这个对象没有a");
}
}*/
$.each(arr,function(index,item){
if(item.hasOwnProperty('a')){
console.log("ok");
}else{
console.log("没有a");
}
})
</script>