javascipt 问题
如var object = {};
var object1 =function(){};
这两行的区别
一直觉得这比较扰人还有就是
object.parameter ="11"
和object.prototype.parameter的区别是什么
为什么有时用.参数 有时用prototype.参数呢。。之间的差异是什么.
程序代码:<script type="text/javascript">
var myFunction=function(){//匿名函数,可以作为'类'的构造函数进行面向对象操作
alert(this.prop1);
};
myFunction.prototype.prop1='myFunction.prop1';//为myFunction增添属性(原型,可以被继承)
myFunction.prop2='myFunction.prop2';//为myFunction增添属性(不能被继承)
myFunction.prototype.func1=function(){alert('myFunction.func1');};
myFunction.func2=function(){alert('myFunction.func2');};
var myObject={prop1:'myObject.prop1'};//JSON对象
myObject.prop2='myObject.prop2';//与prop1是等同的
//myObject.prototype.prop3='myObject.prop3';//这样是不可以的
myObject.Objfunc=new myFunction();//将其作为myObject的成员,此时执行构造函数显示"myFunction.prop1"
// myFunction();这样的调用是不允许的
alert(myFunction.prototype.constructor);//显示其构造函数
var valueOfObject="myObject:\n";
for(key in myObject){valueOfObject+=(key+"\t: "+ myObject[key]+"\n");};//遍历myObject
alert(valueOfObject);
valueOfObject="myFunction:\n";
for(key in myFunction){valueOfObject+=(key+"\t: "+ myObject[key]+"\n");};//遍历myFunction
alert(valueOfObject);
alert(myObject.Objfunc.prop1);//'myFunction.prop1'
//alert(myObject.Objfunc.prop2);//undefined 比较一下,不用prototype定义的属性不能被继承,但可以以myFunction.prop2方式引用
myObject.Objfunc.func1();//对func1调用,显示'myFunction.func1'
//myObject.Objfunc.func2();//这样操作同样不行
</script>
</script>