有没有办法压缩这个javascript代码更多?

时间:2011-11-10 14:36:29

标签: javascript jquery jquery-ui

我已经编写了以下代码,但是我想知道我可以把它做得更小。

$(document).ready(function ()

            $('.datepickerTarget').datepicker({
                onSelect: function (dateText, inst) {

                    $('#' + this.id).removeClass('watermark');

                }
            });

            $('.datepickerTarget').datepicker("option", "dateFormat", "dd/mm/yy");

        });

我想我试图理解这一行:

$('.datepickerTarget').datepicker("option", "dateFormat", "dd/mm/yy");

正在做。这是一个建筑师吗?我在哪里可以找到我可以放在这一行?这只是一种方法吗?不确定语法。

希望有人可以帮助我理解,这样我就可以缩短这段代码,使它更加光滑......

7 个答案:

答案 0 :(得分:4)

使代码更光滑是朝着使其无法维护的一步。

如果你很难弄清楚如何让它变小,那么想想你在6个月内看到它时会记住它到底是做什么的困难时期。

答案 1 :(得分:2)

$(document).ready(function ()
    $('.datepickerTarget').datepicker({
        dateFormat:"dd/mm/yy",
        onSelect: function (dateText, inst) {
            $('#' + this.id).removeClass('watermark');
        }
    });
});

您可以通过将对象作为参数传递给日期时间对象的“构造函数”来设置构造对象时的日期格式。

如果您担心大小,请查看JavaScript压缩。我使用YUI compression algorithm

答案 2 :(得分:1)

$(document).ready(function ()
        $('.datepickerTarget').datepicker({
            onSelect: function (dateText, inst) {

                $('#' + this.id).removeClass('watermark');

            },
            dateFormat: "dd/mm/yy"
        });
    });

您可以在datepicker

的初始化选项中添加该选项

答案 3 :(得分:1)

是的,您可以在此处设置dateFormat媒体资源以及onSelect一次调用:

$('.datepickerTarget').datepicker({
            onSelect: function (dateText, inst) {
                $('#' + this.id).removeClass('watermark');
            },
            dateFormat: "dd/mm/yy"
});

答案 4 :(得分:1)

这应该有所帮助。

$(document).ready(function () {

    $('.datepickerTarget').datepicker({ onSelect: function () { $(this).removeClass('watermark'); }, dateFormat: "dd/mm/yy" });

});

答案 5 :(得分:0)

它看起来根本没有压缩 - 通常,压缩Javascript归结为混淆它,在某种意义上说:删除所有不必要的字符,包括换行符,甚至将方法重命名为更少(或根本没有)描述性的东西。您可能意味着在另一种意义上压缩,例如删除不需要的代码以不仅最小化数量,而且还可以消除多余工作的代码 - 这样就可以消除冗余。

有了这个,并转到你的第二个问题,是的,这是一个构造函数,或“初始化程序”;用于实例化插件并提供必需的参数作为参数。您应该能够以两种方式找出支持哪些参数:

  • 阅读插件的文档
  • 查看源文件并阅读代码

答案 6 :(得分:0)

$('.datepickerTarget').datepicker({
     onSelect: function (dateText, inst) {
                   $('#' + this.id).removeClass('watermark');
               },
     dateFormat : "dd/mm/yy"
});

它实际上并不是真正的线条,但将dateFormat移动到datepicker启动中更为温和。

你真的应该看看文档!