pourquoi le prototype est indéfini

J'ai connu ce qui a été posé des centaines de fois, cependant, je n'arrive pas à saisir le concept de prototype

Voici mon exemple de script

var config = {
  writable: true,
  enumerable: true,
  configurable: true
};

var defineProperty = function(obj, name, value) {
  config.value = value;
  Object.defineProperty(obj, name, config);
}


var man= Object.create(null);
defineProperty(man, 'sex', "male");

var person = Object.create(man);
person.greet = function (person) {
    return this.name + ': Why, hello there, ' + person + '.'
}
var p=Object.getPrototypeOf(person);
alert(p.sex);//shows male
person.prototype.age=13;//why there is a error said the prototype is undefined? I thought it supposed be man object...

var child=function(){}
child.prototype.color="red";//why this line doesn't show error? both child and person are an object . 

alert(child.prototype.color);//shows red

var ch=Object.getPrototypeOf(child);

alert(ch.color);//why it is undefined? it is supposed red.

Espère que vous pouvez me donner un aide... merci.

Mise à jour:

Grâce à vos gars de bien vouloir l'aider, Basé sur Elclanrs réponse, voici ce que j'ai appris.

Function est celui de la construction des objets en javascript. le format 3 création de la fonction de l'objet sont égales.

var function_name = new Function(arg1, arg2, ..., argN, function_body)
function function_name(arg1, arg2, ..., argN)
{
...
}
var function_name=function(arg1, arg2, ..., argN)
{
...
}

C'est donc pourquoi créer un prototype de la chaîne, nous avons créer une fonction et ensuite l'appeler avec le mot clé new .

Function.prototype est la référence pour Toutes les fonctions de l'objet prototype.

Acclamations

source d'informationauteur Joe.wang