関数がJSのオブジェクトであることに同意します。関数をコンストラクターとして使用する場合、これらのプロパティを関数のプロトタイププロパティに追加することで、オブジェクト作成にプロパティを追加できます。これは私が試したものです:
var Mammal = function(name) {
this.name = name;
};
var Cat = function(name) {
this.saying = 'meow';
};
Cat.prototype = new Mammal();
Cat.prototype.display = function() {
console.log('I display Cats');
};
//This is what I find hard to digest
Cat.display = function() {
console.log('I display cats but at the top level');
};
わかりにくいのはコメント部分です。私はただ何がどこに行くのか、そして私が理解していないこの特定の部分を想像しようとしていました。つまり、関数を記述して、関数を定義しながらこのようなことをしなければならない場合、構文はどのようになりますか?次のようなことを試してみると:
function demo() {
this.saying = function() {
console.log('I display cats but at the top level');
};
};
ここでの変数this
はDOMWindowを参照します。関数定義内で上記のことを実現するにはどうすればよいですか。
私はJSの全くの初心者です。ご不便をおかけして申し訳ございません。