1.Object对象
- 原型对象
原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象。
1
2
3
4
5
6
|
<script type= "text/javascript" > Object.prototype.num= 10; alert( "添加原型对象属性:" + Object.num); Object.num = 20; alert( "添加对象属性:" +Object.num); </script> |
运行结果: 添加原型对象属性:10 添加对象属性:20
- 原型链
1
2
3
|
Object.prototype.a = 3.14; alert( "Object对象的实例:" + new Object().a); alert( "String对象的属性:" + String.a); |
运行结果: Object对象的实例:3.14 String对象的属性:3.14
分析:当扩展了Object的原型后,相当于对象变为Object. prototype,也就是所有本地对象均拥有此对象的属性,因为所有的本地对象均继承与Object对象,所以String也有属性a的值。
2.Function对象
- arguments对象
当一个函数执行的时候,系统会自动为函数对象创建一个 arguments对象属性,arguments对象属性,只能使用在函数体中,并用来管理函数的实际参数。
(1)caller属性
caller属性显示了函数的调用者,所以下面的例子,调用函数a的为function b();调用函数b的为null;
1
2
3
4
5
6
7
8
9
|
<script type= "text/javascript" > var a = new Function( "alert('a:'+a.caller)" ); function b() { a(); alert( 'b:' +b.caller); } b(); </script> |
运行效果:
(2)length属性
length是arguments对象的属性,表示函数被调用时传递的参数个数,可以通过数组的方式访问某个实际参数。
1
2
3
4
5
|
function argc() { alert(arguments[0]+arguments[1]+arguments[3]); } argc(1,2,3); |
运行结果为6