Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Was ist der Unterschied zwischen diesen beiden Arten, JS zu schreiben?

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 ;
}

Ergänzender Inhalt:
Ich verwende
var a=new cs();
a.open_change_customer_p ();
auf der Webseite.
Dann macht cs nur die Funktion open_change_customer_p verfügbar.
Ist es in den beiden oben genannten Schreibweisen besser, die Methode, die verfügbar gemacht werden soll, in einer neuen Variablen aufzuhängen oder sie direkt unter dem Funktionsnamen aufzuhängen?

扔个三星炸死你扔个三星炸死你2663 Tage vor952

Antworte allen(6)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-07-05 10:56:15

    前面那种我见得比较多,后面那种写法是什么鬼。。

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-07-05 10:56:15

    第二种是不是这样
    _cs.open_change_customer_p = function (url, url_param){......}

    这两种的区别就是,第二种这种方法可以被删除,第一种用 var 定义的不能被删除,除此以外,貌似没什么区别了,看个人习惯了,第一种可读性可能会好一点

    Antwort
    0
  • ringa_lee

    ringa_lee2017-07-05 10:56:15

    静态方法为什么不抽出来单独写一个函数,而要每次都新建?

    Antwort
    0
  • 阿神

    阿神2017-07-05 10:56:15

    ...第一种用法:
    var cs1 = cs();
    var cs2 = cs();
    cs1 和 cs2 是两个不同的对象, 指向不同的内存空间
    而第二种会指向同一个空间,就是cs函数本身...
    会出现的问题就是你声明了俩变量,改变其中一个,另外一个的值跟着变(var cs1 = cs()这种用法)

    如果你是想var cs1 = new cs()的话, 第二种始终控制的是cs函数本身呀...那里的cs应该换成this

    第一种好...因为第二种很奇怪...

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-07-05 10:56:15

    功能应该都是能实现相同的功能的

    1. 第一种看起来会比较舒服

    2. 第二种看起来会比较舒服

    如果你是觉得第一种那样定义不太舒服,你可以这样子定义

    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())

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 10:56:15

    你第二种方法能实现

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

    这样的调用? 我很怀疑

    Antwort
    0
  • StornierenAntwort