为什么JavaScript将源代码文本传递到参数中?

为什么JavaScript将源代码文本传递到参数中?,javascript,Javascript,控制台日志: [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object,

控制台日志:

   [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
     (index):104

   function (newFeedItems) {
       console.log(feedItems);
   } (index):113

   Uncaught TypeError: Object function (newFeedItems) {
      console.log(feedItems);
   } has no method 'sort' 
这是从哪里来的

function (newFeedItems) {
    console.log(feedItems);
} (index):113
当它应该是:

[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
看看函数
fetchfeed()
processLatestFeed()
。问题始于
processLatestFeed(函数(newFeedItems){


您正在将函数作为第一个参数传递给
processLatestFeed

processLatestFeed(function(newFeedItems) {
  console.log(feedItems);
});
但您将该函数定义为接受数组作为第一个参数,接受回调作为第二个参数:

function processLatestFeed(newFeedItems, callback) {
    console.log(newFeedItems); // <- this logs the function source
    // ...
}

你能进一步描述一下你的问题吗?我想我不太明白你想说什么say@ZachSaucier查看newFeedItems以及它是如何记录到控制台的,您可以看到它如何正确地显示它是一个对象数组[Object,Object,Object…],但是当newFeedItems被传递到processLatestFeed(函数(newFeedItems)…它似乎不是作为一个对象数组传入的,而是作为源代码本身传入的(请参阅控制台日志的第二部分)。不确定我是否理解,但更改如下:processLatestFeed(newFeedItems,function(){console.log(feedItems);});我是个白痴!整天都在玩JavaScript——想想这是我休息一下的暗示:)是的,这通常会有帮助:)
function processLatestFeed(newFeedItems, callback) {
    console.log(newFeedItems); // <- this logs the function source
    // ...
}
processLatestFeed(newFeedItems, function() {
  // you are not passing an arguments to the callback
});