javascript - Quelle est la différence entre ces deux façons d'écrire du JS
扔个三星炸死你
扔个三星炸死你 2017-07-05 10:54:15
0
6
992
function cs() {
    var _cs = {};    
    _cs .open_change_customer_p = function (url, url_param) {
        console.log(url);
        console.log(url_param);
        //do something
        ...
        ...
        block_enter_presss();
    };
    
    function block_enter_presss() {
        /**屏蔽bootstrap搜索框按enter会刷新,搜索框响应enter键 */
    }
    return _cs ;
}
function cs() {
    cs .open_change_customer_p = function (url, url_param) {
        console.log(url);
        console.log(url_param);
        //do something
        ...
        ...
        block_enter_presss();
    };
    
    function block_enter_presss() {
        /**屏蔽bootstrap搜索框按enter会刷新,搜索框响应enter键 */
    }
    return cs ;
}

Contenu supplémentaire :
J'utilise
var a=new cs();
a.open_change_customer_p ();
sur la page Web.
Ensuite, cs n'expose que la fonction open_change_customer_p
Dans les deux manières d'écrire ci-dessus, est-il préférable de suspendre la méthode pour qu'elle soit exposée dans une nouvelle variable, ou de la suspendre directement sous le nom de la fonction ?

扔个三星炸死你
扔个三星炸死你

répondre à tous(6)
巴扎黑

Je vois le premier plus souvent, mais qu'est-ce que c'est que le second ? .

漂亮男人

Le deuxième est-il comme ça
_cs.open_change_customer_p = function (url, url_param){......}

La différence entre les deux est que la deuxième méthode peut être supprimée et que la première méthode définie avec var ne peut pas être supprimée. À part cela, il ne semble y avoir aucune différence. Selon les habitudes personnelles, la lisibilité de la première méthode peut être différente. Ce sera mieux

ringa_lee

Pourquoi ne pas extraire la méthode statique et écrire une fonction distincte, mais en créer une nouvelle à chaque fois ?

阿神

...La première utilisation :
var cs1 = cs();
var cs2 = cs();
cs1 et cs2 sont deux objets différents, pointant vers des espaces mémoire différents
Et le second pointera vers le même espace est la fonction cs elle-même...
Le problème qui se pose est que si vous déclarez deux variables, si vous modifiez l'une d'entre elles, la valeur de l'autre changera en conséquence (usage var cs1 = cs())

Si vous voulez var cs1 = new cs(), le deuxième type contrôle toujours la fonction cs elle-même... Le cs là-bas devrait être remplacé par ceci

Le premier est bon... parce que le second est bizarre...

给我你的怀抱

Les fonctions devraient toutes pouvoir réaliser la même fonction

  1. Le premier a l'air plus confortable

  2. Le deuxième a l'air plus confortable

Si vous vous sentez mal à l'aise avec la première définition, vous pouvez la définir comme ceci

function cs() {  
    this.open_change_customer_p = function (url, url_param) {
        console.log(url);
        console.log(url_param);
        block_enter_presss();
    };
    
    function block_enter_presss() {
        /**屏蔽bootstrap搜索框按enter会刷新,搜索框响应enter键 */
    }
}
console.log(new cs())
phpcn_u1582

Votre deuxième méthode peut être réalisée

var a=new cs();
cs.open_change_customer_p ();

Un tel appel ? J'en doute

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal