插件类型方法和全局变量中的方法有什么区别

时间:2013-12-09 06:53:31

标签: javascript jquery jquery-plugins

在效率方面,

在javascript中调整函数的最快和最标准的方法是什么?

插件式编码就是这样。

; (function ($, window, document, undefined) {

var pluginName = "SoketManager",
    dataPlugin = "plugin_" + pluginName,
    settings = {
        target: this,
        width: 350,
        height: 150,
        theme: 'default'
    }

var Plugin = {
    // instance...
}    

Plugin.prototype = {
    connect: function() {
         //something.
    },
    disconnect: function() {
         //something.
    },
    sendmessage: function() {
         //something...
    },
    etc: function() {

    }
  //etc2: function() .......
}

$.fn[pluginName] = function (arg, contents) {
var args, instance;
if (typeof arg === 'string' && typeof instance[arg] === 'function') {
            args = Array.prototype.slice.call(arguments, 1);
            return instance[arg].apply(instance, args); 
}

使用全局变量就像这样..

var SocketManager = {
    sock: '',
    connect: function () {
        var stdInfo = new JSONClientParameters();
        var socket = io.connect('http://192.168.1.39:3000', {
            query: stdInfo.toGetString()
            //'reconnect': true,
            // 'reconnection delay': 500,//default 500
            //'max reconnection attempts': 10
        });
        kdbSocketManager.ksock = socket;
        socket.on('connect', function () {
            alert('successfully connected to the database!!');
        });
    },
    disconnect: function () {
        this.ksock.disconnect();
    },
    sendMessage: function (pMsg, pTargetId) {
        this.ksock.emit('sendMessage', { msg: pMsg, targetId: pTargetId });
    },

我认为像插件一样编码没有意义。对后者的代码更简单易读吗?有人可以详细解释一下吗?

0 个答案:

没有答案