JavaScript高级<3>

JavaScript  自定义对象

创建对象方式:方式一,对象初始化器方式;

方式二,构造函数方式;

<script type="text/javascript">
		var cc = {
			name : "cc",
			age : 22,
			shout : function() {
				alert("我是:" + this.name + "今年" + this.age + "岁了!");
			},
			action : function() {
				alert("会吃");
			}
		};

		alert(cc.name);
		alert(cc.age);
		cc.shout();
		cc.action();

		function Dog(name, age) {
			this.name = name;
			this.age = age;
			this.shout = function() {
				alert("我是:" + this.name + "今年" + this.age + "岁了!");
			};
			this.action = function() {
				alert("eat");
			};
		}

		var jack = new Dog("jack", 1);
		alert(jack.name);
		alert(jack.age);
		jack.shout();
		jack.action();
	</script>

对象属性定义:私有属性;对象属性;类属性

	<script type="text/javascript">
		function C(){
			this.Object="对象属性";
			C.prototype.Object2="对象属性2";
			var privatePro="私有属性";
		}
		C.classPro="类属性";
		
		alert(C.classPro);
		var c=new C();
		alert(c.Object);
		alert(c.Object2);
	</script>

对象方法定义:私有方法;对象方法;类方法;

<script type="text/javascript">
		function C() {
			var privateFunc = function() {
				alert("私有方法");
			};
			privateFunc();
			this.objFunc = function() {
				alert("对象方法");
			};
			C.prototype.objFunc2 = function() {
				alert("对象方法2");
			};
		}
		C.classFunc = function() {
			alert("类方法");
		};
		C.classFunc();
		var c = new C();
		c.objFunc();
		c.objFunc2();
	</script>

JavaScript 实现封装性;上面例子便是。


JavaScript实现继承性;

Apply()实现属性和方法的继承;

Prototype实现原型的继承;


	<script type="text/javascript">
		function Animal(name,age){
			this.name=name;
			this.age=age;
			this.shout=function(){
				alert("大家好!");
			};
		}
		
		function Dog(name,age){
			Animal.apply(this, [name,age]);
		}
		
		var jack=new Dog("jack",1);
		alert(jack.name);
		alert(jack.age);
		jack.shout();
	</script>

		Dog.prototype=new Animal();

JavaScript实现多态特征;

<script type="text/javascript">
		function Animal() {
			this.shout = function() {
				alert("动物!");
			};
		}

		function Dog() {
			this.shout = function() {
				alert("狗");
			};
		}
		Dog.prototype = new Animal();
		function Cat() {
			this.shout = function() {
				alert("猫");
			};
		}
		Cat.prototype = new Animal();

		function shout(animal){
			if(animal instanceof Animal){
				animal.shout();
			}
		}
		
		var dog=new Dog();
		var cat=new Cat();
		shout(dog);
		shout(cat);
	</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值