JavaScript对象有几种:
内置对象如Global,Math对象等等。
本地对象如Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError。
然而这跟要说的内容并没有什么关系,正题:曾经(此秒之前)纠结过json对象和构造函数对象有什么关系,区别是什么,该怎么合理使用,今天心情...仔细思考探索了一下,于是皇天不负有心人,如下,或许共勉。
var singleton={ name: ‘Barrior‘, init: function(msg){ this.age=msg; this.alert(); return this; }, alert:function(){ alert(‘My name is ‘+this.name+‘, ‘+this.age+‘ years old.‘); } }; var o1=singleton.init(21); //My name is Barrior, 21 years old. var o2=singleton.init(23); //My name is Barrior, 23 years old. alert( o1===o2 ); //true /** * 单例对象: * 不能消除对象的引用,适合执行(或创建或绘制)某些方法(或元素或图形),且不需要获取执行此方法的对象,简单说就是单纯地执行某些方法。 * 应用场景: * 适合存储一些全局函数,变量(变量可被修改哦),配置。 */ function FnObject(){ this.name=‘Barrior‘; } FnObject.prototype={ init: function(msg){ this.age=msg; this.alert(); }, alert: function(){ alert(‘My name is ‘+this.name+‘, ‘+this.age+‘ years old.‘); } } var fn1=new FnObject(); //My name is Barrior, 21 years old. fn1.init(21); var fn2=new FnObject(); //My name is Barrior, 23 years old. fn2.init(23); alert( fn1===fn2 ); //false /** * 构造函数对象: * 多例对象 -> 既可以执行创建(或绘制)元素(或图形)等效果,又可以获取绘制当前图像的当前对象,如果存在后期操作,如更新图像的某些属性或位置,那么就需要获取当前对象,然后通过执行当前对象的预留方法来达到效果了。 * */
最后不是本文旨意的一些区别:一般来说对象字面量形式{}创建对象效率高,不需要使用new。
时间: 2024-10-05 20:01:07