js对象的创建

创建js对象

可以使用js提供的数据类型进行创建,也可以使用自己定义的函数进行创建

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-2.1.3.js" ></script>
		<script type="text/javascript">
			$(function(){
				//(1)js一切都是对象,包括基本类型 和引用类型 ,函数,平时使用比较多,只是把引用类型看成对象
				//创建对象方式一使用js提供的数据类型创建
				var yyk = new Number(232);
				//创建对象方式二,使用函数创建对象
				var yyk1 = new Person("a");
				//给yyk1添加属性sex和name并赋初始值
				yyk1.sex="woman";
				yyk1.name="yyk";
				console.debug(yyk1);
				console.debug(yyk);
			})
			var Person = function(){
			}
		</script>
	</head>
	<body>
	</body>
</html>

js的if判断

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-2.1.3.js" ></script>
		<script type="text/javascript">
			$(function(){
				var bl = false;
				if(bl){
					console.debug("能输出我把屏幕吃了")
				}
				var bll = new Boolean(false);
				if(bll){
					console.debug("这个会输出")
				}
			})
		</script>
	</head>
	<body>
	</body>
</html>

对象属性的添加及判断

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var va = function(){}
			var a = new va();
			a.name="yyk";
			a.age=18;
			a.sex="女";
			for(var key in a){
				console.debug(a[key]);
			}
		</script>
	</head>
	<body>
	</body>
</html>

json的操作

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="jquery-2.1.3.js" ></script>
		<script type="text/javascript">
			//先搞一个json字符串
			var jsonn1 = '{"name":"yyk","age":19}';
			//创建json对象
			var jsonn2 = eval("("+jsonn1+")");
			var jsonn3 = JSON.parse(jsonn1);
			//转换为jquery对象,但是json的格式必须是标准格式
			var jsonn4 = $.JSON.parse(jsonn1);
		</script>
	</head>
	<body>
	</body>
</html>

this的使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var yyk1={
				"yyk":"康大仙"
			}
			function yyk2(){
				//this的指向和java中的类似,指向调用者
				return this.name;
			}
			yyk1.say=yyk2();
			console.debug(yyk1.say);
			//this的指向是可以改变的
			var obj2 = {"name":"结衣"};
			var obj3 = {"name":"小鑫鑫"};
			//console.log(sayHello('xxx111','yyyy111'));
			//改变this指向
			console.log(sayHello.apply(obj2,["xxx","yyy"]));
			console.log(sayHello.call(obj3,"xxx","yyy"));
		</script>
	</head>
	<body>
	</body>
</html>

原型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			function User(name,age,sex){
				this.name = name;
				this.age = age;
				this.sex = sex;
				this.eat = function(){
					console.log('波波昨天晚上和星星一起吃饭');
				}
			}
			//每一个对象都有prototype属性,我们可以通过该属性往对象上面添加属性和方法
			User.prototype.eat = function(){
				console.log('波波昨天晚上吃大餐...');
			}
			var user1 = new User('yyk',19);
			console.dir(user1);
			var user2 = new User('zdf',23);
			console.dir(user2);
			//对象里面原型属性 --这个原型属性也是一个对象
			console.log(user1.__proto__ === user2.__proto__);
			//同一个类的不同实例的原型是共享的;
			//对象属性查找规则,先从自定义的属性上面找,如果找到,就返回,如果没有,从原型上面去找
			user1.__proto__.sex = 'man';
		</script>
	</head>
	<body>
	</body>
</html>

闭包实现属性只读

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var sum = 0;
			function add(){
				return sum++;
			}
			console.log(add());
			console.log(add());
			sum = 3;
			console.log(add());
			console.log(add());
			console.log(add());
		</script>
	</head>
	<body>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值