北方站长站
客服热线:0632-5117766

Javascript教程:展示风格的价值

[2008-03-21 14:44:15] 作者:Northz会员wbin 来源:北方站长论坛

Tags:价值 风格 展示 教程 if 我们 一个 code else var function

  

qLN北方站长站

使用对象参数qLN北方站长站

当一个函数被指定一个值,像在this.get = function (n) { … }中,它应该以一个分号来结束所有的赋值语句。 Webjx.Com qLN北方站长站

 

function yg_cookie() {qLN北方站长站
    this.get = function (n) {qLN北方站长站
        var v = '',qLN北方站长站
            c = ' ' + document.cookie + ';',qLN北方站长站
            s = c.indexOf((' ' + n + '='));qLN北方站长站
        if (s >= 0) {qLN北方站长站
            s += n.length + 2;qLN北方站长站
            v = unescape(c.substring(s, c.indexOf(';', s)));qLN北方站长站
        }qLN北方站长站
        return v;qLN北方站长站
    };qLN北方站长站
    this.set = function (n,v,e) {qLN北方站长站
        document.cookie = n + "=" + escape(v) +qLN北方站长站
            ";expires=" + (new Date(e * 1000)).toGMTString() +
qLN北方站长站

qLN北方站长站
            ";path=/" + ";domain=www.yahoo.com";qLN北方站长站
    };qLN北方站长站
}qLN北方站长站
var _yc = new yg_cookie();qLN北方站长站

 qLN北方站长站

最后,我们看到yg_cookie是一个能产生一个无状态对象的构造器。我们一点也不需要构造器函数。我们能简单创建一个空对象,通过指派方法的方式来增加它。 qLN北方站长站

 var _yc = new Object();qLN北方站长站
_yc.get = function (n) {qLN北方站长站
    var v = '',qLN北方站长站
        c = ' ' + document.cookie + ';',qLN北方站长站
        s = c.indexOf((' ' + n + '='));qLN北方站长站
    if (s >= 0) {qLN北方站长站
        s += n.length + 2;qLN北方站长站
        v = unescape(c.substring(s, c.indexOf(';', s)));qLN北方站长站
    }qLN北方站长站
    return v;qLN北方站长站
};qLN北方站长站
_yc.set = function (n,v,e) {qLN北方站长站
    document.cookie = n + "=" + escape(v) +qLN北方站长站
        ";expires=" + (new Date(e * 1000)).toGMTString() +qLN北方站长站
        ";path=/" + ";domain=www.yahoo.com";qLN北方站长站
};
qLN北方站长站

如果我们不需要支持Netscape3和IE4,我们能通过对象字面量来实现的更加优雅。 qLN北方站长站

 var _yc = {qLN北方站长站
    get: function (n) {qLN北方站长站
        var v = '',qLN北方站长站
            c = ' ' + document.cookie + ';',qLN北方站长站
            s = c.indexOf((' ' + n + '='));qLN北方站长站
        if (s >= 0) {qLN北方站长站
            s += n.length + 2;qLN北方站长站
            v = unescape(c.substring(s, c.indexOf(';', s)));qLN北方站长站
        }qLN北方站长站
        return v;qLN北方站长站
    },qLN北方站长站
    set: function (n,v,e) {qLN北方站长站
        document.cookie = n + "=" + escape(v) +qLN北方站长站
            ";expires=" + (new Date(e * 1000)).toGMTString() + qLN北方站长站
            ";path=/" + ";domain=www.yahoo.com";qLN北方站长站
    }qLN北方站长站
};
qLN北方站长站

使用通用库 qLN北方站长站

此时对于处理cookies我们有几种方法。我们发现下一个事情是令人惊奇的,它是没有利用我们定义的方法的cookies处理方式代码。 qLN北方站长站

 var b,qLN北方站长站
    l = '',qLN北方站长站
    n = '0',qLN北方站长站
    y;qLN北方站长站
y = ' ' + document.cookie + ';';qLN北方站长站
if ((b = y.indexOf(' Y=v')) >= 0) {qLN北方站长站
    y = y.substring(b, y.indexOf(';', b)) + '&';qLN北方站长站
    if ((b = y.indexOf('l=')) >= 0) {qLN北方站长站
        l = y.substring(b + 2, y.indexOf('&', b));qLN北方站长站
        if ((b = y.indexOf('n=')) >= 0)qLN北方站长站
            n = y.substring(b + 2, y.indexOf('&', b));qLN北方站长站
    }qLN北方站长站
}
qLN北方站长站

它甚至复制了我们早前看到的同样技术。很有可能两块代码都改写自同一个有缺点的原稿。我们可以利用我们最近的工作来改进它: qLN北方站长站

 

 var l = '',qLN北方站长站
    n = '0',qLN北方站长站
    y = _yc.get('Y') + '&',qLN北方站长站
    b = y.indexOf('l=');qLN北方站长站
if (b >= 0) {qLN北方站长站
    l = y.substring(b + 2, y.indexOf('&', b));qLN北方站长站
    b = y.indexOf('n=');qLN北方站长站
    if (b >= 0) {qLN北方站长站
        n = y.substring(b + 2, y.indexOf('&', b));qLN北方站长站
    }qLN北方站长站
}
qLN北方站长站

代码重用是软件工程的圣杯。我们可以想象通过最先进的技术避免大量的必需的手工工作来得到高效率。这里我们发现一种失败,使用一种方法需要在相邻需要它的地方进行定义。 qLN北方站长站

软件的体系结构倾向于反映生产他们的组织结构。在这种情况下,我们看到一个组织由于缺乏流程的连通意识而导致的明显低效的证据。风格的应用是吹毛求疵的,因为如果我们理解这几条是什么才有可能正确的一起使用这几条。 qLN北方站长站

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

上一页 1 2 3 4 5 6 下一页

下一篇链接:Javascript实例教程(20) OLE Automation(2)

上一篇链接:Javascript实例教程(20) OLE Automation(3)

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面