亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Opérations DOM pertinentes pour développer des paniers d'achat avec JavaScript (2)

Dans la section précédente, nous avons principalement obtenu l'objet n?ud à exploiter

Cette section implique principalement la configuration des cookies et l'opération d'acquisition, en utilisant le modèle de conception singleton pour la conception d'encapsulation

Modèle de conception à bo?tier unique

Ce qui suit est l'introduction de Wikipédia au modèle singleton?:

Lors de l'application du modèle singleton, la classe qui génère le singleton doit s'assurer qu'une seule instance existe. système entier Un seul objet global est nécessaire pour coordonner le comportement global du système. Par exemple, dans le fichier de configuration de l'ensemble du système, les données de configuration ont un objet singleton pour une lecture et une modification unifiées. Lorsque d'autres objets ont besoin de données de configuration, ils obtiennent également les données de configuration via cet objet singleton, ce qui peut simplifier la configuration de manière complexe. environnements.

L'idée du modèle singleton est la suivante?: une classe peut renvoyer une référence à un objet (et ce sera toujours la même) et une méthode pour obtenir l'instance (méthode statique, utilisant généralement le nom getInstance). Ensuite, lorsque nous appellerons cette méthode, si la référence détenue par la classe n'est pas vide, la référence sera renvoyée. Sinon, une instance de la classe sera créée, et la référence d'instance sera affectée à la référence détenue par la classe et. puis revint. En même temps, définissez le constructeur de la classe comme une méthode privée pour empêcher d'autres fonctions d'utiliser le constructeur pour instancier l'objet, et obtenez uniquement la seule instance de la classe via la méthode statique de la classe.

Formulaire complet?: [] est facultatif

document.cookie = ? name=value[;expires=date][;path=path-to-resource][;domain=domain name][;secure] ?

<script>
var cookieObj = {
    /*
     增加或修改cookie
     參數(shù):o 對(duì)象{}
     name:string cookie名
     value:string cookie值
     expires:Date對(duì)象 過(guò)期時(shí)間
     path:string 路徑限制
     domain:string 域名限制
     secure:boolean  true https  false或undeinfed
     */
    set: function(o) {
        var cookieStr = encodeURIComponent(o.name) + "=" + encodeURIComponent(o.value);
        //encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。
        if(o.expires) {
            cookieStr += ";expires=" + o.expires;
        }
        if(o.path) {
            cookieStr += ";path=" + o.path;
        }
        if(o.domain) {
            cookieStr += ";domain=" + o.domain;
        }
        if(o.secure) {
            cookieStr += ";secure";
        }

        document.cookie = cookieStr;
    },
    /*
     刪除
     參數(shù):n string cookie的名字
     */
    del: function(n) {
        var date = new Date();
        date.setHours(-1);  //setHours() 方法用于設(shè)置指定的時(shí)間的小時(shí)字段。
        //this代表的是當(dāng)前函數(shù)的對(duì)象
        this.set({
            name: n,
            expires: date
        });
    },
    /*查找*/
    get: function(n) {
        n = encodeURIComponent(n);
        var cooikeTotal = document.cookie;
        var cookies = cooikeTotal.split("; ");
        //split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
        for(var i = 0, len = cookies.length; i < len; i++) {
            var arr = cookies[i].split("=");
            if(n == arr[0]) {
                return decodeURIComponent(arr[1]);
            //decodeURIComponent() 函數(shù)可對(duì) encodeURIComponent() 函數(shù)編碼的 URI 進(jìn)行解碼。    
            }
        }
    }
}
</script>

Créez un fichier cookie.js et insérez-y le code JavaScript ci-dessus.

<script type="text/javascript" src="cookie.js"></script>

sera appelé ultérieurement depuis la page HTML pour obtenir l'effet de module de fonction.


Formation continue
||
<script> var cookieObj = { /* 增加或修改cookie 參數(shù):o 對(duì)象{} name:string cookie名 value:string cookie值 expires:Date對(duì)象 過(guò)期時(shí)間 path:string 路徑限制 domain:string 域名限制 secure:boolean true https false或undeinfed */ set: function(o) { var cookieStr = encodeURIComponent(o.name) + "=" + encodeURIComponent(o.value); //encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。 if(o.expires) { cookieStr += ";expires=" + o.expires; } if(o.path) { cookieStr += ";path=" + o.path; } if(o.domain) { cookieStr += ";domain=" + o.domain; } if(o.secure) { cookieStr += ";secure"; } document.cookie = cookieStr; }, /* 刪除 參數(shù):n string cookie的名字 */ del: function(n) { var date = new Date(); date.setHours(-1); //setHours() 方法用于設(shè)置指定的時(shí)間的小時(shí)字段。 //this代表的是當(dāng)前函數(shù)的對(duì)象 this.set({ name: n, expires: date }); }, /*查找*/ get: function(n) { n = encodeURIComponent(n); var cooikeTotal = document.cookie; var cookies = cooikeTotal.split("; "); //split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。 for(var i = 0, len = cookies.length; i < len; i++) { var arr = cookies[i].split("="); if(n == arr[0]) { return decodeURIComponent(arr[1]); //decodeURIComponent() 函數(shù)可對(duì) encodeURIComponent() 函數(shù)編碼的 URI 進(jìn)行解碼。 } } } } </script>
soumettreRéinitialiser le code