js 对象的基本操作


<html>
	<head>
		<script>
			//对象的原型
			if( typeof Object.beget != "function"){
				Object.beget = function (o){
					var F = function(){};
					F.prototype = o;
					return new F();
				}
			}
			var stooge = {
				"name":"name",
				"age":2
			};
			var an_stooge = new Object.beget(stooge);
			//更新对象的属性值,原型中的值不改变
			an_stooge.name = "names";
			//alert(an_stooge.name);
			//alert(stooge.name);
			
			//反射,遍历js对象的属性和对应的属性名,可以使用typeof运算符来区别是属性还是函数
			for(var attr in stooge){
				var t = stooge[attr]
				console.log(attr,t);
			}
			//判断是否有某属性,hasOwnProperty不会检查原型对象中的属性,但是o.attr会追溯到原型对象中去查找属性
			console.log(stooge.hasOwnProperty("name"));
			console.log(stooge.hasOwnProperty("getName"));
			
			//删除对象中的属性,有可能让原型对象中的属性浮现出来
			console.log(an_stooge.name);
			delete an_stooge.name;
			console.log(an_stooge.name);
		</script>
	</head>
</html>

你可能感兴趣的:(基本操作)