オブジェクトリテラルとコンストラクター関数を使用して作成されたオブジェクトの主な違いは何ですか?
オブジェクトリテラルを使用して作成されたオブジェクトは、シングルトンです。 、これは、オブジェクトに変更が加えられると、スクリプト全体のオブジェクトに影響を与えることを意味します。一方、オブジェクトがコンストラクター関数を使用して作成され、それに変更が加えられた場合、その変更はスクリプト全体でオブジェクトに影響を与えません。
それらについて個別に話し合いましょう。
1)オブジェクトリテラルを使用して作成されたオブジェクト
これらはシングルトンなので 、オブジェクトへの変更はスクリプト全体で持続します。 1つのインスタンスでの変更は、オブジェクトのすべてのインスタンスに影響します。
次の例では、両方のオブジェクトが「学生」であることがわかります。 "と"newStudent "同じ名前(Ravi)を表示します 最初は。しかし、かつてはオブジェクトの名前は「 newstudent "が変更された(他のオブジェクト名を一定に保つ)、両方のオブジェクトが変更された名前(kumar)を表示しました 。
例
<html> <body> <script> var student = { name: "Ravi" } var newStudent = student; document.write("Before change"); document.write("</br>"); document.write("student name = " + student.name); document.write("</br>"); document.write("new student name = " + newStudent.name); document.write("</br>"); newStudent.name = "kumar"; document.write("After change"); document.write("</br>"); document.write("student name = " + student.name); document.write("</br>"); document.write("new student name = " + newStudent.name); </script> </body> </html>
出力
Before change student name = Ravi new student name = Ravi After change student name = kumar new student name = kumar
2)コンストラクター関数を使用して作成されたオブジェクト。
fで定義されたオブジェクト unction co </ strong> インストラクターl そのオブジェクトの複数のインスタンスがあります。つまり、1つのインスタンスに加えられた変更は、他のインスタンスには影響しません。
次の例では、オブジェクトの名前は「 newStudent "が変更されました。他のオブジェクトの名前"学生 "は同じままでした。両方のオブジェクトは、出力に示されているように異なる名前を表示しました。
例
<html> <body> <script> var stu = function() { this.name= "Ravi" } var newStudent = new stu(); var student = new stu(); document.write("Before change"); document.write("<br>"); document.write("student name = " + student.name); document.write("<br>"); document.write("new student name = " + newStudent.name); document.write("<br>"); newStudent.name = "kumar"; document.write("After change"); document.write("<br>"); document.write("student name = " + student.name); document.write("<br>"); document.write("new student name = " + newStudent.name); </script> </body> </html>
出力
Before change student name = Ravi new student name = Ravi After change student name = Ravi new student name = kumar
-
JavaScriptの関数とメソッドの違いは何ですか?
JavaScriptでも関数とメソッドは同じですが、メソッドはオブジェクトのプロパティである関数です。 以下はJavaScriptの関数の例です- function functionname(param1, param2){ // code } 例 メソッドはオブジェクトに関連付けられた関数です。以下はJavaScriptのメソッドの例です- <html> <head> <script> var e
-
C#のリテラルと定数の違いは何ですか?
定数は、プログラムの実行中に変更できない固定値を参照します。これらの固定値は、リテラルとも呼ばれます。定数は、整数定数、浮動定数、文字定数、文字列リテラルなど、任意の基本データ型にすることができます。列挙定数もあります。 整数リテラルは、10進数または16進数の定数にすることができます。接頭辞は基数または基数を指定します。16進数の場合は0xまたは0Xであり、10進数の場合は接頭辞IDはありません。 150 300u 浮動小数点リテラルには、整数部分、小数点、小数部分、および指数部分があります。 3.14159 235468E-7F 文字列リテラルまたは定数は、二重引用符または@で囲まれ