有区别,方法1的定义是给Object对象增加了一个属性color,后面的所有用Object建立的对象都会继承这个属性,如:
aa=new Object();
Object.prototype.color="blue";
bb=new Object();
alert(bb.color);方法2只定义了aa对象的一个属性color,其他用Object实例化的对象不具有这样的属性
aa=new Object();
Object.prototype.color="blue";
bb=new Object();
alert(bb.color);方法2只定义了aa对象的一个属性color,其他用Object实例化的对象不具有这样的属性
有区别,方法1的定义是给Object对象的应用增加了一个属性color,所有用Object建立的对象都会继承这个属性,如:
aa=new Object();
Object.prototype.color="blue";
bb=new Object();
alert(bb.color);
alert(aa.color);方法2只定义了aa对象的一个属性color,其他用Object实例化的对象不具有这样的属性
请问“Object对象的应用”和“Object对象”这两者有什么区别啊?
还有我用 var mynew = new Object()
和用 function myobject()
{
this.color="blue"
}
var mynew= new myobject()
有什么区别啊?谢谢!!!
function myobject(){
this.color="blue";
this.width="100px";
this.height="20px";
this.top="0px";
this.left="0px";
}
var a=new myobject();
var b=new myobject();
var c=new myobject();
var d=new myobject();用Object怎么写?
object对象就是js内置对象之一,我们只能增加其原型引用的方法和属性,而不能改变其对象本身
Object.prototype.color="blue";
Object.prototype.width="100px";
Object.prototype.height="20px";
Object.prototype.top="0px";
Object.prototype.left="0px";
var a=new Object();
var b=new Object();
var c=new Object();
var d=new Object();
什么叫“不能改变其对象本身”呢?Object()对象除了prototype属性外,
还有其它什么属性和方法吗?对象是由属性和方法组成的啊。
 属性:constructor,prototype;
 方法:toString,valueOf,toLocaleString;
其他的属性和方法没有什么实际意义。emu(ston) 和你写的代码虽然能实现同样的功能,但意义却不一样,
emu的是建立的一个自己的对象,而你的是改变了object对象的引用,a、b、c、d是对object对象的实例
this.color="blue";
this.width="100px";
this.height="20px";
this.top="0px";
this.left="0px";
}
function myobject2(){
this.color="red";
this.width="20px";
this.height="100px";
this.bototm="0px";
this.right="0px";
}
var a=new myobject();
var b=new myobject2();
var c=new myobject();
var d=new myobject2();
function myobject(x,y,z){
this.x=x;
this.y=y;
this.z=z;
this.add=function(){
return x+y+z;
}
}
这样作,好处更多,
1、概念清楚;
2、构造函数已经有了
var a=new myobject(12,23,1);
等价于
var a=new myobject();
a.x=12;
a.y=23;
a.z=1;
sunmingdong() ,你好!你说的
“Object对象:
属性:constructor,prototype;
方法:toString,valueOf,toLocaleString;”
我又有些不明白了,我现在的理解是构造函数是整个function 或 Object()
如:function myclass()
{
this.color="red"
}
你说Object()对象有一个属性是construtor,难道我可以写: Object.constructor吗?
“我不习惯用object”我觉得应该是 Object吧,JavaScript的内置对象
都是以 大写字母开头的吧?
请参阅
prototype 属性应用于:Array Object | Boolean 对象 | Date 对象 | Function 对象 | Math 对象 | Number 对象 | Object 对象 | String 对象
要求
版本2
表示创建对象的函数。object.constructor
必需的 object是对象或函数的名称。说明
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 内部对象。constructor 属性保存了对构造特定对象实例的函数的引用。例如: x = new String("Hi");
if (x.constructor == String)
// 进行处理(条件为真)。
或 function MyFunc {
// 函数体。
}y = new MyFunc;
if (y.constructor == MyFunc)
// 进行处理(条件为真)。
要求
版本2请参阅
prototype 属性应用于:Array Object | Boolean 对象 | Date 对象 | Function 对象 | Math 对象 | Number 对象 | Object 对象 | String 对象
原理是这个:<script>var a=new Object();
var b=new Object();
b.ppt="b";
Object.prototype.ppt="ppt";
var c=new Object();
c.ppt2="c_ppt2";
alert([a.ppt,b.ppt,c.ppt]);
alert([a.ppt2,b.ppt2,c.ppt2]);alert([GetProperty(a,"ppt"),GetProperty(b,"ppt"),GetProperty(c,"ppt")]);
alert([GetProperty(a,"ppt2"),GetProperty(b,"ppt2"),GetProperty(c,"ppt2")]);
//prototype的默认访问形式如下:
//JScript5.5
function GetProperty(obj,name)
{
//例子,不对参数进行检查了。
if(obj.hasOwnProperty(name))
return obj[name];
if(obj.constructor.prototype.hasOwnProperty(name))
return obj.constructor.prototype[name];
return undefined;
}</script>