Samurai は ninja.chirp に依存していますが、ninja.chirp への参照を削除しました。このコードが機能し続けるのはなぜですか?
var ninja = {
chirp: function (n) {
return n > 1 ? this.chirp(n - 1) + '-chirp' : 'chirp';
}
};
function chirp(n) {
return n > 1 ? chirp(n-1) + '-chirp' : 'chirp';
}
var samurai = {
chirp: ninja.chirp
};
ninja = {};
try {
console.log(samurai.chirp(3));
}
catch (e) {
console.log("no can do.");
}
</script>