問題タブ [function-constructor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Javascript のコンストラクター関数が機能しない
5 つのプロパティを求めるプロンプトを表示し、テスト スコアを取得してテスト 1、2、および 3 の平均を取得し、名前と平均を表示する必要があります。関数を表示または実行することはできません。コードの何が問題になっていますか?
javascript - Function で作成されたこれらの関数の違いは何ですか?
1.var f = new Function("a", "b", "return a+b")
2.var f2 = Function("a", "b", "return a+b")
f
f2
どちらも無名関数です。f(1,2)
両方とも をf2(1,2)
返します3
。では、両者の間に実際の内部的な違いはありますか? Function
内部的に関数オブジェクトを返しますか? Function
as コンストラクターの使用との違いはnew Function(...)
?
javascript - コンストラクターを使用してオブジェクトを作成する場合とオブジェクトを返す場合に違いはありますか?
これらの機能の動作に違いはありますか? 最初のものは、コンストラクターについて考えるときに私が考えるより典型的なものです。
例 1:これを使用して名前を付け、プロパティを設定します。次に、new を使用して新しい Book オブジェクトを作成します。
例 2: newを使用してオブジェクトを返し、関数自体を呼び出すだけです。
私が理解しようとしているのは、これらがオブジェクトを作成する方法が異なるかどうかだと思いますか? もしそうなら、一方が他方より優れていますか?一方が他方よりもうまく機能するさまざまな状況はありますか?
javascript - JavaScript コンストラクター関数、プロトタイプ アタッチ メソッド、および「this」
私は CodeAcademy JS の演習に取り組んでおり、この例について質問があります。
このコードの私の理解は次のとおりです。
Animal()
JS は、関数 (関数コンストラクター)の呼び出し前に new キーワードを使用した結果として、var dog が指す新しい Animal オブジェクト インスタンスを作成します。- var dog オブジェクトのプロトタイプには、
sayName()
次の行にメソッドが関連付けられています。Animal.prototype.sayName = function()
sayName()
がクラスにアタッチされているため、関数コンストラクターを使用してクラスprototype
から作成されたすべてのオブジェクトでメソッドを使用できるようになりましたAnimal
new Animal()
これは、このコードで何が起こっているかを正しく理解していますか?
this
また、次の動物オブジェクトをどのように指すかを理解しようとしていますthis.name
:
Animal.prototype
実際のオブジェクトを指していない:prototype
このAnimal
オブジェクト インスタンスのオブジェクト? もしそうなら、実際には から呼び出されているので、this
をthis.name
指すべきではありませんか?Animal.prototype
sayName()
Animal.prototype
のコンテキストについての私の理解は、関数を呼び出すオブジェクトthis
をthis
常に指しているということです。ただし、この場合、dog.sayName()
が呼び出されたときに をthis
指し、コンソールに記録されたときにAnimal
どのようthis.name
に等しいかを示します。'Barker'
Animal.prototype がプロトタイプ オブジェクトを指していることを誤解しているかdog.sayName()
、this
またはprototype
.
この小さな例には複数の質問がありますが、ここで何が起こっているかを正確に把握することは、これらの基本的な概念を理解するのに本当に役立ちます。
javascript - Javascript関数コンストラクターを使用して各ボックスにクリックアラートを追加するには?
HTML コード:
ここにCSSコード:
ここでオブジェクト リテラル構文を使用する JavaScript コード : // box2 と box3 に同じ効果を適用したい