小编Ale*_*eyd的帖子

干燥的Javascript类

使用jQuery,这是我在JS中编写的大多数类的格式:

$.Tabs = function(options){
var self = this;
this.defaults = {};
var cfg = $.extend(true, {}, this.defaults, options);
this.$elem = cfg.$elem;

function _init(){
    var dontInit = false;

    if (!cfg.$elem || !cfg.requiredProperty){
        alert('missing params');
        dontInit = true;
    }

    if (!dontInit){
        self.$elem.bridge(self);
    }
}

this.show = function(){};
this.hide = function(){};

_init();
}
Run Code Online (Sandbox Code Playgroud)

上面的代码就是一个例子.

我的问题是,你如何从你的课程中推断出常见的任务/功能,所以你写的每一个新课程,你都不必重新输入所有内容?

我创建了一个基于John Resig的Simple Javascript Inheritance模式的类创建脚本,它允许您需要某些参数,绑定pub/sub模式的事件侦听器,自动将默认值与传入的选项组合在一起,并在DOM之间创建一个桥梁element和类实例(即$('elem').data('instanceNamespace',classInstance);)

但是我不断使用这个类脚本来编写我的类,因为它使它们的可移植性降低.但是,当我觉得这些方面可以被抽象出来时,我不希望我的所有课程之间有如此多的相似之处.

思考?或者你如何格式化你的Javascript类?

提前致谢.

编辑:此外,是否有人知道使用类创建脚本对性能的影响?我假设额外的闭包增加了开销,但它是否足以让它不值得使用?

javascript dry

3
推荐指数
1
解决办法
292
查看次数

if(0){// code}的目的是什么?

快问.我刚刚在JS文件中遇到以下内容:

if (0) {
    // code
}
Run Code Online (Sandbox Code Playgroud)

这个if语句的目的是什么?代码会执行哪些情况?它目前不运行if子句中的代码.

javascript

2
推荐指数
2
解决办法
178
查看次数

标签 统计

javascript ×2

dry ×1