zoukankan      html  css  js  c++  java
  • JS 封装

    一。全局变量
    
    定义:三种
    	(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); }) ();

     

  • 相关阅读:
    POJ
    UPC-5843: 摘樱桃(最优状态递推)
    BZOJ-1088 [SCOI2005]扫雷Mine(递推+思维)
    HDU-3065 病毒侵袭持续中(AC自动机)
    BZOJ-4236 JOIOJI (map查找+思维)
    HDU-2896 病毒侵袭(AC自动机)
    Hrbust-2060 截取方案数(KMP)
    UVALive 4490 压缩DP
    UVALive 5881
    UVALive 4168
  • 原文地址:https://www.cnblogs.com/hgonlywj/p/4857839.html
Copyright © 2011-2022 走看看