1.Object對象
原型是對象的一個屬性,也就是prototype屬性,每個對象都有這個內部屬性,而且他本身也是一個對象。
<script type="text/javascript"> Object.prototype.num= 10; alert("添加原型對象屬性:"+ Object.num); Object.num = 20; alert("添加對象屬性:"+Object.num);</script>
運行結果: 添加原型對象屬性:10 添加對象屬性:20
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對象屬性,只能使用在函數體中,並用來管理函數的實際參數。
(1)caller屬性
caller屬性顯示了函數的調用者,所以下面的例子,調用函數a的為function b();調用函數b的為null;
<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對象的屬性,表示函數被調用時傳遞的參數個數,可以通過數組的方式訪問某個實際參數。
function argc(){ alert(arguments[0]+arguments[1]+arguments[3]);}argc(1,2,3);
運行結果為6