Redéfinition de la fonction JavaScript

Est-il possible de redéfinir une fonction JavaScript à partir de l'intérieur de son propre corps. Par exemple, je pourrais faire par la suite?

function never_called_again(args) {
  //Do some stuff
  never_called_again = function (new_args) {
    //Do some new stuff
  }
}

Est ci-dessus et valide-t-elle la sémantique correcte? Je ne veux pas créer une nouvelle variable globale avec l'ancien nom de la fonction, parce que je suis en train de faire ce genre de chose n'est pas dans la portée globale, mais à partir de divers objets étendues, et je ne veux pas les collisions de noms quand j'ai redéfinir la fonction à l'intérieur de ces domaines locaux.

source d'informationauteur davidk01