Javascript 无法获取对象属性的值

Javascript 无法获取对象属性的值,javascript,jquery,Javascript,Jquery,不知道这里发生了什么。我有一个函数,它是WordPress插件的事件处理程序: $.fn.almComplete = function(alm){ console.log(alm); console.log(alm.finished); } 第一个输出是: e.ajaxloadmore {AjaxLoadMore: Object, page: 0, speed: 300, proceed: false, init: false…} AjaxLoadMore: Object bu

不知道这里发生了什么。我有一个函数,它是WordPress插件的事件处理程序:

$.fn.almComplete = function(alm){
    console.log(alm);
    console.log(alm.finished);
}
第一个输出是:

e.ajaxloadmore {AjaxLoadMore: Object, page: 0, speed: 300, proceed: false, init: false…}
AjaxLoadMore: Object
button: m.fn.init[1]
button_label: "Load More"
content: m.fn.init[1]
data: m.fn.init[2]
el: m.fn.init[1]
finished: true
init: false
lang: ""
loading: false
max_pages: 5
offset: 0
page: 0
pause: false
post_type: Array[1]
posts_per_page: 6
prefix: "alm-"
proceed: true
repeater: "default"
scroll: false
speed: 300
transition: "slide"
window: m.fn.init[1]
__proto__: Object
但是第二个输出console.logalm.finished总是输出false,但是该属性显然不是false,所以我认为我没有正确引用这个变量

如何访问alm对象的属性

编辑:以下是在插件代码中调用此回调的时间:

        success: function (data) {
           alm.data = $(data); // Convert data to an object
           //console.log(alm.data.length);
           if (alm.init) {
              alm.button.text(alm.button_label);
              alm.init = false;
           }
           if (alm.data.length > 0) {
              alm.el = $('<div class="' + alm.prefix + 'reveal"/>');
              alm.el.append(alm.data);
              alm.el.hide();
              alm.content.append(alm.el);
              if (alm.transition === 'fade') { // Fade transition
                 alm.el.fadeIn(alm.speed, 'alm_easeInOutQuad', function () {
                    alm.loading = false;
                    alm.button.delay(alm.speed).removeClass('loading');
                    if (alm.data.length < alm.posts_per_page) {
                       alm.finished = true;
                       alm.button.addClass('done');
                    }
                 });
              } else { // Slide transition
                 alm.el.slideDown(alm.speed, 'alm_easeInOutQuad', function () {
                    alm.loading = false;
                    alm.button.delay(alm.speed).removeClass('loading');
                    if (alm.data.length < alm.posts_per_page) {
                       alm.finished = true;
                       alm.button.addClass('done');
                    }
                 });
              }

              if ($.isFunction($.fn.almComplete)) {
                 $.fn.almComplete(alm);
              }

           } else {
              alm.button.delay(alm.speed).removeClass('loading').addClass('done');
              alm.loading = false;
              alm.finished = true;
           }
        },

另外,完整的js源代码也在这里:

这是愚蠢的,但是试试这个:alm console.logk中的forvar k,alm[k];看看你能看到什么。在这里发布结果可能是因为控制台显示了对象的实时表示。Ivan,是的,显示finished false。Vohuman,你能把我链接到一些关于实时对象的文档吗?我找不到任何东西,需要访问第一个日志中显示的值。演示如何使用此函数。您似乎遇到了与其他异步代码相关的问题