标签:空间 rip strong size 调用 就会 括号 作用域 style
创建对象、对象里面还有对象
利用函数的方法让对象内部套嵌多个对象,并且每当我们传入新的值进去就会产生一个新的对象。
<script> //<script>标签,我们编写的所有js代码都要放在这个标签内部才能使用。
//这个Room表示在取一个叫做Room变量的空间,但是前面没有声明这个变量,所以系统就会隐示的声明一个变量 var Room;
  //Room这个空间取来后就给他赋值,附的是“new fn(……)”,new就表示新开辟一个空间,然后执行“fn(……)”,fn加小括号就表示调用fn这个函数。
			Room = new fn(200, 100, 90, 80, 50, 40, 10, 10, "red", function fd() {
				console.log(666)
			});
//调用fn函数就会执行下面函数内部的代码:
			function fn(w, h, s, w1, h1, s1, w2, h2, color, play) {
				this.w = w;                                 //   this.w   这个关键字会在执行这个代码的对象的作用域内去找w这个属性,
				this.h = h;                                //执行这个代码的是new这个空间,明显空间里面没有w这个属性,所以他就会新声明一个w属性,
				this.s = s;                                 //  并给他附上w形参传入的实参。也就是也就是200。下面同理。
				this.h1 = new fm(w1, h1, s1, w2, h2, color, play);                    //同样的this.h1创建一新属性,并给他赋值,不过这里附的东西就跟上面的Room一样,
this.h2 = new fm(w1, h1, s1, w2, h2, color, play);                    //先开辟一个空间,然后再调用fm函数。
				this.h3 = new fm(w1, h1, s1, w2, h2, color, play);
				function fm(w1, h1, s1, w2, h2, color, play) {                          //到了fm函数这里就相当于重复上面的方法来    开辟空间,给空间添加属性
					this.w1 = w1;                                                                           //这样就可以循环下去,就可以让一个对象内套嵌多个对象。
					this.h1 = h1;               
					this.s1 = s1;                                                                        //这样,只要最开始时Room传入的参数改变一下,Room的名字改变一下就可以创建不同的拥有多个内部对象的对象了。
					this.computer1 = new fs(w2, h2, color, play);
					this.computer2 = new fs(w2, h2, color, play);
					this.computer3 = new fs(w2, h2, color, play);
					function fs(w2, h2, color, play) {
						this.w2 = w2;
						this.h2 = h2;
						this.color = color;
						this.play = play;
					};
				};
			};
			console.log(Room);
			console.log(Room.h1.computer1.color);
			console.log(typeof(Room));
		</script>
标签:空间 rip strong size 调用 就会 括号 作用域 style
原文地址:http://www.cnblogs.com/YCxiaoyang/p/7120695.html