javascript - jQuery:从字符串类型转换为$.each中的字符串对象

标签 javascript jquery

$.each(["foo","bar"],function(){console.debug(this);});

将字符串类型的“foo”和“bar”转换为字符串对象中的等价物。

鉴于...

$.each(["foo","bar"],function(i,e){console.debug(e);});

将保留“foo”和“bar”的原始字符串类型。

我想知道为什么 $.each 会进行转换?而且,更重要的是......这种转换永远不会发生 - 保持字符串不变,无论它们是字符串类型还是字符串对象?

最佳答案

根据jQuery documentation :

(The value can also be accessed through the this keyword, but Javascript will always wrap the this value as an Object even if it is a simple string or number value.)

这表明它是 Javascript,而不是 jQuery 正在执行转换。

在回调函数中使用值的情况下,jQuery 传递该值本身,因此它可以保留其类型。

关于javascript - jQuery:从字符串类型转换为$.each中的字符串对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10432748/

相关文章:

javascript - React & Redux - 路由改变后状态变空

java - 通过 JSNI 从 jQuery slider 内调用 Java 函数

jquery - 为什么两个圆圈作为光标会导致垂直或水平滚动条?

jquery - 如何淡出具有两个条件的元素 (.scrollTop > X && screen.width < 600)

javascript - HTML5 中图片上传到 base64

javascript - requestAnimationFrame 会干扰 CSS 转换吗?

添加 Javascript 下拉菜单

javascript - 向分页添加条件

javascript - AJAX成功后调用Javascript库

jquery - 使用 jquery 确定 html div 元素的默认宽度和高度