JavaScript 组件写法

1.Prototype

var Class = {
    create: function() {
        return function() {
            this.init.apply(this, arguments);
        }
    }
}
var A = Class.create();
A.prototype = {
    init: function(msg) {
        this.msg = msg;
    },
    fn: function() {
        alert(this.msg);
    }
}
var a = new A("myMsg"); a.fn();

 

2. 也有比较简单的方法

function A() {} //var A = function(){} 
A.prototype = {
    init: function(msg) {
        this.msg = msg;
    },
    fn: function() {
        alert(this.msg);
    }
}
var a = new A(); a.init("myMsg"); a.fn();

 

3.Jquery插件

(function($) {
    var methods = {
        init: function(options) {},
        show: function() {}
    };

    $.fn.demo = function(method) {
        // Method calling logic
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on ...demo...');
        }
    };
})(jQuery);

 

4.Base

var a = Base.extend({
    init: function(){}
});

a.init();
var Animal = Base.extend({
  constructor: function(name) {
    this.name = name;
  },
  
  name: "",
  
  eat: function() {
    this.say("Yum!");
  },
  
  say: function(message) {
    alert(this.name + ": " + message);
  }
});
 
 

 

转载于:https://www.cnblogs.com/xiaoyee/archive/2012/11/29/2794654.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值