javascript一些小问题

1.async

类型:Boolean

默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。

注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

In Javascript, it is impossible for a function to return an asynchronous result. The function will usually return before the AJAX request is even made.

 

Here is a function that does the job quite well. I could not get the Best Answer above to work.

jQuery.extend({
    getValues: function(url) {
        var result = null;
        $.ajax({
            url: url,
            type: 'get',
            dataType: 'xml',
            async: false,
            success: function(data) {
                result = data;
            }
        });
       return result;
    }
});

 2.一个关于push的小问题

var categoryData = [];
                        $scope.category.forEach(function(item){
                            var categoryDataItem = {};
                            categoryDataItem["category"] = item.name;
                            categoryData.push(categoryDataItem);
                        });

  

var categoryData = [];
  var categoryDataItem = {};
                        $scope.category.forEach(function(item){
                            categoryDataItem["category"] = item.name;
                            categoryData.push(categoryDataItem);
                        });

  这个在用过之后,就会发现第二种方法达不到想要的效果。因为categoryData存储的是categoryDataItem,而每一次categoryDataItem都会被改变,所以最后会发现categoryData存储的对象都是一样的

3.var cell = []; cell[0]]["rowSpan"]=1; 是错误的,必须前面还要加一个cell[0] = {};

4.如何判读一个数组没有定义或者不为空

if (typeof image_array !== 'undefined' && image_array.length > 0) {
    // the array is defined and has at least one element
}

  这个数组已经定义且不为空

 

posted @ 2016-07-01 16:28  侧耳倾听的世界  阅读(187)  评论(0编辑  收藏  举报