parameter functions array argument javascript arguments optional optional-arguments

functions - Javascript: ¿la matriz de argumentos está obsoleta?



set default value function parameter javascript (4)

Los arguments Afaik están en desuso como propiedad de Function . Vea este enlace MDN , o este

La mayoría de los sitios dicen que "callee" como una propiedad de Function.arguments está en desuso. Pero algunos sitios van más allá y dicen que el conjunto de Functions.argument está en desuso. Ej. Http://aptana.com/reference/api/Arguments.html ¿Por qué solo se menciona a la persona que llama si toda la rutina está muerta en el agua? Acabo de descubrir "argumentos" y me parece increíblemente útil. Por ejemplo, http://hungred.com/how-to/secret-arguments-array-javascript/


No, la matriz de argumentos no está en desuso en la última versión 5.1 de la especificación (consulte la página 60). Sin embargo, el objeto que caller solo estará disponible si el código no está en modo estricto.


el destinatario de la llamada está en desuso, pero los argumentos se utilizan en muchas aplicaciones. No sé si los argumentos están en desuso. Puede usarlo para obtener todos los parámetros de una función, incluso si no está definido dentro de la función (params).

La mayoría de las veces lo uso cuando desarrollo un plugin de jQuery. Algo como:

$.fn.tooltip = function( method ) { if ( methods[method] ) { return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); } else if ( typeof method === ''object'' || ! method ) { return methods.init.apply( this, arguments ); } else { $.error( ''Method '' + method + '' does not exist on jQuery.tooltip'' ); } };

Como puede ver, solo el método se pasa como parámetro, pero dentro del primero si los argumentos se dividen después del primer valor. De esta manera puede pasar un nombre de función y todos los parámetros utilizados por esta función.

Ejemplo completo: http://docs.jquery.com/Plugins/Authoring


Function.arguments está en desuso, pero solo está en desuso en favor del objeto de arguments vainilla que está disponible dentro de una función. (por ejemplo, usando x = arguments[i]; lugar de x = theFunc.arguments[i]; )

Ese es ahora el método preferido (y como usted dice, extremadamente útil) para acceder a los argumentos ordinales recibidos.