Javascript 为什么在包含字符串的数组上运行jqueryeach()会将每个字符串分解为单个字符的数组?
我已经加载了jquery,并且有一个数组(对象)包含如下字符串: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"
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值包装为对象,即使它是一个简单的字符串或数字值”