javascript基础之三(对象详解)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JavaScript对象详解</title>
</head>
<script>
//JavaScript对象只有两种类型,Native类型(包括ECMA描述的内置对象数组,日期,和用户自定义对象),Host类型(主机环境如浏览器中提供开发者使用的,如window,dom)
//JavaScript将对象的属性当做数组管理,对象的属性=属性名+属性值(数组/对象/函数)

//创建对象的方法
//1
var myobj={};
myobj.name="lsf";
myobj.age=24;
//2
var exampleobj={"info":"information",
	inner:{id:0,value:10},//属性名可以不加双引号
	sayHello:function(name){
			name=name || "lsf";//通过逻辑值设置默认值 为lsf
			console.info("hello "+name);
	}
}
//访问1
console.info(myobj.name);
//访问2
console.info(myobj['age']);console.info(myobj["age"]);
exampleobj.sayHello("kdd");
exampleobj["sayHello"]();//以数组的方式访问
//属性遍历,(属性当做数组管理)
for(var proName in exampleobj){
	console.info(proName+" : "+exampleobj[proName]);
}
function displayPerson(person){
	console.info(person.name || "lsf");
	console.info(person.age || 0);	
}
displayPerson({name:"wang",age:25});//用{}直接创建对
displayPerson({});//用{}直接创建对象象
console.info("-----");
//使用工厂函数创建对象
function personFactory(name,age,career){
	var o=new Object();
	o.name=name;
	o.age=age;
	o.career=career;
	o.sayName=function(){
		console.info(o.name || "no name");	
	}
	return o;
}
person1=personFactory("lsf",24,"soft engineer");
person2=personFactory("zf",25,"stupit");
//使用构造函数创建对象
function Person(name,age){
	this.name=name;
	this.age=age;
	console.info(this instanceof Person);
	console.info(this instanceof arguments.callee);//callee放回正在执行的函数本身的引用,它是arguments的一个属性
}
var p1=new Person("john",19);//ture其实和工厂函数一样,内部会调用new返回对象,new 开辟了新区域
var p2= Person("lsf",24);//false 如果没有使用new关键字,则函数Peron内部this默认指向window,没有new则没有开辟
console.info(p2);//undefined
console.info(window.age);24

</script>
<body>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值