码迷,mamicode.com
首页 > Web开发 > 详细

JS 封装

时间:2015-10-06 23:38:47      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

一。全局变量

定义:三种
	(1)	var test = ‘some value‘;
	(2)	window.test = ‘some value‘;
	(3)	(function () {
			var a;
			test = ‘some value‘;
		})();	//在函数中不写var的,就是全局。


注意:
	function todo() {
		var a = test = ‘some value‘;
	}

	//在js中。a是局部变量, 而test是全局变量。

	function todo() {
		var a = ‘11‘,
			b = ‘ab‘;
		test = ‘some value‘;
	}

全局变量,可以在任何地方做操作。可能会产生命名冲突。程序不稳定。调试困难。

二,信息隐藏。
	面向对象的封装,有一些公有方法,和一些私有方法。

	//使用函数封装
	function A() {
		this.a = ‘a‘;
		this.b = ‘b‘;

		this.step1 = function () {
			;
		}	
		this.step2 = function () {
			;
		}
	}
	
	//使用原型封装
	function B() {
		this.a = ‘a‘;
		this.b = ‘b‘;
	}
	var pro = A.prototype;
	pro.step1 = function () {
		;
	}
	pro.step2 = function () {
		;
	}

	有问题。公有私有不分。访问权限相同。没有达到信息隐藏的目的。


达到信息隐藏的方式。外界也可以操作

function A() { var config = [‘a‘, ‘b‘, ‘c‘]; this.getConfig = function () { return config; } } var pro = A.prototype; pro._step1 = function () { ; } pro._step2 = function () { ; } 继承: 类继承:   组合继承,就不写了。

原型继承:这个很少用,写一下。 (function () { var proto = { action1 : function () { ; }, action2 : function () { } } var obj = Object.create(proto); }) ();

 

JS 封装

标签:

原文地址:http://www.cnblogs.com/hgonlywj/p/4857839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!