JavaScript15

<!DOCTYPE html>
<html>
  <head>
    <title>Javascript语法15</title>

    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    <!-- <script type="text/javascript" src="/test.js"></script> -->
  </head>
  
  <body>
		<script type="text/javascript">
		/*
		 * js自定义对象。
		 * 
		 * 如果想要自定义对象,应该先对对象进行描述。
		 * js是基于对象,不是面向对象的。不具备描述事物的能力。
		 * 我们还想按照面向对象的思想编写js。
		 * 就要先描述,在js中,可以用函数来模拟面对对象的中的描述。
		 * 
		 * 
		 */
		 
		/* 
		//用js来描述人
		function Person() {//相当于构造器。
			//alert("person run");
		}
		//通过描述进行对象的建立。 new。
		var p = new Person();
		//动态给p对象添加属性。直接使用p.属性名即可。
		p.name = "zhangsan";
		p.age = 29;
		//如果定义的p对象的属性赋值为一个函数,即是给p对象添加一个方法。
		p.show = function() {
			alert("show:" + this.name + ":" + this.age);
		}
		//调用方法
		p.show(); 
		*/

		/* 
		var obj = new Object();
		obj.name = "god father";
		obj.age = 2015;
		alert(obj.name + ":" + obj.age); 
		*/

		/* 
		function Person(name, age) {
			//在给Person对象添加了两个属性。
			this.name = name;
			this.age = age;

			this.setName = function(name) {
				this.name = name;
			}
			this.getName = function() {
				return this.name;
			}
		}
		var p = new Person("旺财", 20);
		for (x in p) {
			document.write(x + ":" + p[x] + "<br>");
		}
		//p.setName("小强");
		//alert(p.getName()); 
		*/

		/* 
		//直接使用{}定义属性和值的键值对方式。键值键通过:连接,键与键之间用逗号隔开。 
		var pp = {
			//定义一些成员。
			"name" : "小明",
			"age" : 38,
			"getName" : function() {
				return this.name;
			}
		}
		//对象调用成员有两种方式:对象.属性名    对象["属性名"]
		alert(pp["age"] + ":" + pp.name + ":" + pp.getName());
		for (x in pp) {
			document.write(x + ":" + pp[x] + "<br>");
		} 
		*/

		/* 
		//用js实现键值对映射关系的集合容器。 
		var oMap = {
			8 : "小强",
			3 : "旺财",
			7 : "小明"
		}
		var val1 = oMap[8];
		alert("val1:"+val1);
		var val2 = get(7);
		alert("val2:"+val2);
		function get(key) {
			return oMap[key];
		} 
		*/

		/* 
		//name="lisi";
		//age = 30;
		var myobj = {
			myname : "lisisi",
			myage : 30
		}
		alert(myobj.myname + ":" + myobj["myage"]);

		var myobj2 = {
			"myname2" : "hahahah",
			"myage2" : 48
		}
		alert(myobj2.myname2 + ":" + myobj2["myage2"]);
		*/

		/*
		var myMap = {
			names : [ "lsii1", "lisi2", "lisi4" ],
			nums : [ 34, 10, 48 ]
		}
		alert(myMap.names[1]);

		var myMap2 = {
			names : [ {
				name1 : "zhangsan"
			}, {
				myname : "hahahah"
			} ]
		}
		alert(myMap2.names[0].name1);
		*/
		</script>
  </body>
</html>
时间: 2024-08-04 18:09:48

JavaScript15的相关文章

javascript--15条规则解析JavaScript对象布局(__proto__、prototype、constructor)

大家都说JavaScript的属性多,记不过来,各种结构复杂不易了解.确实JS是一门入门快提高难的语言,但是也有其他办法可以辅助记忆.下面就来讨论一下JS的一大难点-对象布局,究竟设计JS这门语言的人当时是怎么做的?设计完之后又变成了什么? 我们来看一张图:  相信大家对这张图都不陌生了,构造函数有一个prototype属性指向其原型.相反原型也有一个constructor指向构造函数.与此同时实例也有一个constructor指向构造函数,这简直就是互相捆绑生怕找不到啊不是吗? 还有一个我们称