为什么有这么多方法在编程中做同样的事情?这是一个AJAX示例:

时间:2015-01-02 03:57:36

标签: ajax

以下是我教授编写AJAX请求的方法(向后兼容):

var request;

if (window.XMLHttpRequest) {
    request = new XMLHttpRequest();
} else {
    request = new ActiveXObject("Microsoft.XMLHTTP");
}

request.open('GET', 'data.txt', true);

request.onreadystatechange = function() {

    if (request.readyState===4 && request.status===200) {   // If the request was successful
        console.log(request);                               // and has finished
        document.writeln(request.responseText);
    }
}

request.send();

以下是我看到其他人在做的事情:

<script type="text/javascript">
        $(document).ready(function(){
            $("button").click(function(){

                $.ajax({
                    type: 'POST',
                    url: 'gamble.php',
                    success: function() {
                        do stuff
                    }
                });
            });
        });

    </script>

为什么有这么多方法来编写相同的东西?因此,我很难学习编程,每当我问一个问题时,他们写的代码与我被告知编写代码的方式完全不同。

2 个答案:

答案 0 :(得分:4)

在编程中有很多方法可以做,因为人们有不同的偏好,有些东西比其他情况更优化。

在您给出的示例中,您的第一个块完全用纯JavaScript编写;第二个需要jQuery library。前者可能会在大多数情况下提供更好的性能,因为除了您已经进行的网络调用之外,它不需要您通过Internet加载库。但是,如果你已经在项目的其余部分使用了jQuery,那么使用jQuery可能会更容易。

换句话说,加载整个库进行一次网络呼叫是没有用的。

由于编程中存在许多不同的情况,条件和限制,因此对于一个问题有很多解决方案,我认为这是感恩而不是恐惧的事情。

答案 1 :(得分:2)

一个是使用jQuery库,另一个是原始JavaScript。

jQuery是JavaScript,使其更容易(理论上和实践中)。

但是只是选择了你的毒药并坚持下去。在大多数编程环境中都没有完美的解决方案。