标签:
1 Array.prototype.testArg = "test"; 2 function funcArg() { 3 alert(funcArg.arguments.testArg); 4 alert(funcArg.arguments[0]); 5 } 6 7 alert(new Array().testArg); // result: "test" 8 funcArg(10); // result: "undefined" "10"
1 function f(a, b, c){ 2 alert(arguments.length); // result: "2" 3 a = 100; 4 alert(arguments[0]); // result: "100" 5 arguments[0] = "qqyumidi"; 6 alert(a); // result: "qqyumidi" 7 alert(c); // result: "undefined" 8 c = 2012; 9 alert(arguments[2]); // result: "undefined" 10 } 11 12 f(1, 2);
1)非严格模式:
1 !function(a) 2 { 3 arguments[0] = 100; 4 console.log(a); 5 }(1); 6 //a:100
2)严格模式下:
!function(a) { ‘use strict‘ //使用严格模式 arguments[0] = 100; console.log(a); }(1); // arguments变成了参数的静态副本,无论a传不传,都是存在的,不具有绑定性. //output:1
3)严格模式第二种情况:
!function(a) { ‘use strict‘; arguments[0].x=10; console.log(a.x); } //output:10 可影响属性
1 function f(a){ 2 return a + 10; 3 } 4 5 function f(a){ 6 return a - 10; 7 } 8 9 // 在不考虑函数声明与函数表达式区别的前提下,其等价于如下 10 11 var f = function(a){ 12 return a + 10; 13 } 14 15 var f = function(a){ 16 return a - 10; 17 }
1 function count(a){ 2 if(a==1){ 3 return 1; 4 } 5 return a + arguments.callee(--a); 6 } 7 8 var mm = count(10); 9 alert(mm);
转载自http://www.cnblogs.com/lwbqqyumidi/archive/2012/12/03/2799833.html
标签:
原文地址:http://www.cnblogs.com/swii/p/5866843.html