Javascript 为什么在包含字符串的数组上运行jqueryeach()会将每个字符串分解为单个字符的数组?

Javascript 为什么在包含字符串的数组上运行jqueryeach()会将每个字符串分解为单个字符的数组?,javascript,jquery,Javascript,Jquery,我已经加载了jquery,并且有一个数组(对象)包含如下字符串: window.stack = [ "header", "nav", ".content", "footer" ]; 当我使用jquery的each()函数在一个循环中运行它,并尝试像这样重新获取每个字符串时: $.each(window.stack,function(){ var h = this; console.log(h); }) …我明白了: String [ "h", "e", "a"

我已经加载了jquery,并且有一个数组(对象)包含如下字符串:

window.stack = [
  "header",
  "nav",
  ".content",
  "footer"
];
当我使用jquery的each()函数在一个循环中运行它,并尝试像这样重新获取每个字符串时:

$.each(window.stack,function(){
    var h = this;
    console.log(h);
})
…我明白了:

String [ "h", "e", "a", "d", "e", "r" ]
String [ "n", "a", "v" ]
String [ ".", "c", "o", "n", "t", "e", "n", "t" ]
String [ "f", "o", "o", "t", "e", "r" ]
为什么我不能得到:

header
nav
.content
footer
你可以试试这个

  $.each(window.stack,function(key,value){

    console.log(value);
})
您可以使用
$。每个(window.stack、函数(key、value)


该值也可以通过this关键字访问,但Javascript将始终将this值包装为对象,即使它是一个简单的字符串或数字值

因此,如果您想使用此

$.each(window.stack,function(){
 var h = this;
 console.log(h.toString());
})

这个问题可能会有所帮助:“Javascript将始终将This值包装为对象,即使它是一个简单的字符串或数字值”