使用Split()是否总是需要与数组配对?
Does using Split() always need to be paired with an array?
我一直在看别人的代码,我被一些语法卡住了,我不能完全理解。
http://jsfiddle.net/62NPt/53/var $windows = $('#tgx-window,#tgs-window,#tgm-window,#tgl-window'),
$buttons = $('#tgx-button,#tgs-button,#tgm-button,#tgl-button');
$windows.hide();
$buttons.on('click', function() {
var $id;
$buttons.removeClass('closebutton');
$id = $('#' + this.id.split('-')[0] + '-window');// Get window id
// alert($id);
$windows.slideUp();
if(! $id.is(':visible') ) {
$id.slideDown();
$(this).addClass('closebutton');
}
});
我正在看的行是$id = $('#' + this.id.split('-')[0] + '-window');
我想弄明白索引数组的值:[0]以及为什么它在那里。
根据ECMAScript 5规范,使用split()方法"返回一个数组对象"。因此,所讨论的子字符串被保存在索引值[0]处(即使数组中没有任何其他值(我假设))。
然后我们添加"-window"并得到我们的最终值:$id = #tgx-window(如果你点击了#tgx-button的值)。
正确吗?我觉得这真的很聪明。但是我不理解为什么分割和数组值一起使用。
另外,我试图使用alert();在$id语句之后直接调用,试图"查看正在创建的内容",但我没有找到任何有用的信息。主要是[object object]和[object HtmlDivElement],它们没有给我任何惊喜。你会做些什么来从$id = $('#' + this.id.split('-')[0] + '-window');// Get window id
中收集一些清晰的信息?
如果你读到这里,非常感谢。我已经很多年没有这么开心地看代码了。这是一种很棒的感觉:)
您有以下id
$windows = $('#tgx-window,#tgs-window,#tgm-window,#tgl-window'),
$buttons = $('#tgx-button,#tgs-button,#tgm-button,#tgl-button');
因为"this"只指向按钮。Split将ID拆分为一个数组。
(tgx,按钮);因此$('#' + this.id.split('-')[0] + '-window');
this.id.split('-')[0]将等于TGX(如果# TGX -button被点击);
与
相同$('#tgx-window');
编辑
alert('#' + this.id.split('-')[0] + '-window')
将提醒ID
Split方法总是返回一个数组。您正在访问返回数组的第一个索引处的元素。你可以在这里了解更多关于Split的信息
相关文章:
- Javascript-具有Split功能的数组
- 在jquery中使用.split并从数组中提取第一个项
- 在 javascript 中使 split() 方法使用双引号而不是单引号创建数组
- Pentaho Spoon:JavaScript split只是在数组中放置一个元素
- 为什么调用 split 和 splice 会给出空数组
- 在输入数组的 split() 和子字符串 () 之后的文本区域中显示
- 如何在使用split后获取数组中的第一个项
- JavaScript split()仅在Firefox/IE中向数组添加额外项
- 在javascript split函数中拆分数组元素
- 将CSV字符串转换为不带.split()的数组
- 使用 String.split 返回的数组
- 在Javascript中,为什么要用split来定义数组呢?
- 打印Javascript split()数组并将未定义的值转换为字符串
- string .split后未定义的数组值
- 使用split、splice获取数组中玩家的姓氏
- Javascript 3D数组和.split()方法
- 如何在数组javascript中使用split()和setTimeout()
- 将 split 方法与正则表达式一起使用后数组中的空字符串
- 使用Split()是否总是需要与数组配对?
- Javascript Split()与显式数组声明的工作方式不同