在javascript中,您不局限于官方列表中的属性,为什么以及这个特性叫什么

在javascript中,您不局限于官方列表中的属性,为什么以及这个特性叫什么,javascript,Javascript,我正在学习Javascript,有些东西我不懂。以.splice方法为例,W3s说该方法具有以下语法:array.spliceindex、howmany、item1、…、itemX。然而,在.splice后面的括号中,其中“index,howmount,item1,…,itemX”是,在Javascript中,您似乎不仅能够使用官方语法列表中的属性,还能够添加任何其他您想要的代码,例如下面的工作代码行: notPlaying.splice(notPlaying.indexOf(audioNumb

我正在学习Javascript,有些东西我不懂。以.splice方法为例,W3s说该方法具有以下语法:array.spliceindex、howmany、item1、…、itemX。然而,在.splice后面的括号中,其中“index,howmount,item1,…,itemX”是,在Javascript中,您似乎不仅能够使用官方语法列表中的属性,还能够添加任何其他您想要的代码,例如下面的工作代码行:

notPlaying.splice(notPlaying.indexOf(audioNumber), 1);

那么在这种情况下,indexOf方法变成了一个属性?在代码行中使用了array.splice方法和indexOf,即使在语法列表中indexOf不是.splice的属性。所以在Javascript中,您显然不局限于官方语法中列出的属性,您似乎可以添加任何其他您想要的代码?进入属性列表或代码行。但我的问题是,Javascript的这一特性被称为什么,我正在寻找一个清晰的解释和高质量的参考,如果可能的话,来解释Javascript的这一特性,这样我就可以更好地理解它,也许可以看看它是否有任何限制。我希望人们理解我的问题,这很难解释,但如果必要的话,我可以进一步澄清:

如果你把它们当作参数,会更容易理解

因此,在您的示例中,notPlaying.INDEXOFUDIONUMBER作为索引参数的值传入。这有意义吗

这并不是说您在使用customer属性,而是您在使用一段JavaScript为splice方法中的参数赋值

希望有帮助

notPlaying.splice(notPlaying.indexOf(audioNumber), 1);
这里有两个函数调用:notPlaying.indexofudionumber和notPlaying.splice…,1

第一个被称为。它返回其参数audioNumber的值在数组中的第一个位置(如果存在),或者如果不存在,则返回-1

notPlaying.indexOfaudioNumber返回的值是一个数字。然后,它将用作第一个参数

如何阅读文档 文件描述如下:

在此定义中,start、deleteCount、item1、item2等是函数所需参数的符号名。它们不是Array.splice或notPlaying的属性。正如您所注意到的,您正在学习的W3Schools教程现在使用了不同的名称。这些名称有助于理解调用函数时作为参数传递的值的用途。在内部,函数的实现可能使用不同的名称

定义中用方括号[and]括起来的部分表示可选参数。Array.splice可以通过以下方式调用:

notPlaying.splice(2);
notPlaying.splice(3, 2);
notPlaying.splice(3, 2, 'abc');
notPlaying.splice(2, 1, 'abc', 'def', 'ghi', 'jk');
在许多其他方面。
[,item1[,item2[,…]]部分基本上表示任意长度的值列表,包括空列表。

notPlaying.indexofudionumber返回一个数字,然后该数字被传递给.splice。这就好像您编写了const index=notPlaying.indexofudionumber;然后写下notPlaying.index,1;。调用函数时,不必匹配参数名。我认为W3C没有足够好地涵盖Javascript的基础知识。您可能需要阅读MDN的教程:阅读关于如何工作的内容。感谢向上面发布的3个人提供的建议…:Benjamin James Kippax,这有助于更好地解释它是的,但这并不是你在使用客户属性,而是你在使用一段JavaScript为splice方法中的一个参数赋值。所以在Javascript中总是这样的,你不能在属性列表中有自定义属性,你是否总是使用一个Javascript来为splice方法中的参数赋值,书中似乎没有很好地解释这一点@艾玛45;是的,没错。所以实际上,您可以用数字6代替notPlaying.indexofudionumber。这只是在方法参数中输入一个值的一种方法。也是一个高质量的答案,你想过扩展答案吗?谢谢你的解释axiac@Alex扩展到什么?好吧,您似乎对这个主题进行了深入研究,不妨添加更多关于方法和参数如何工作的参考。
notPlaying.splice(2);
notPlaying.splice(3, 2);
notPlaying.splice(3, 2, 'abc');
notPlaying.splice(2, 1, 'abc', 'def', 'ghi', 'jk');