I know that in Javascript we can create ,instatnces of object like
var ins = new myObject();
I know that ,window ,document etc are predefined objects in javascript..Can we create new instances of these objects.?
For ex:
Is
var inss = new document();
possible?
Don't confuse objects with constructors (or classes in most OOP languages). In JavaScript, you create objects by calling constructor functions using the new
operator:
function MyObject()
{
}
var obj = new MyObject();
Afterwards you can access the constructor given the object using the constructor
property:
var ctor = obj.constructor; // (ctor === MyObject) will be true
Theoretically, you can create new objects of the same type as a given object:
var obj1 = new MyObject();
var obj2 = new obj1.constructor();
In your case, you might try the same with "built-in" object, but it will probably not work since the script engine might forbid it. For example, Chrome will throw TypeError: Illegal constructor
when trying to create a new document using new document.constructor()
. This is because document
's constructor, HTMLDocument
, is not meant to be used directly.
Yes and no, mostly no.
You can create a new window
object using window.open
. It will also have a new document
object.
You can create a new DOM document
via createDocument
, though it won't necessarily have all the special features of the pre-made one. You can also create a new document fragment via createDocumentFragment
, which can be very handy.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With