JavaScript中的默认参数设置
题目:设计一个JavaScript方法,使用字符输出三角形。该方法支持三个参数,分别为三角形的高度,输出字符(可选,默认为*)和输出方向(可省略,默认呢为输出倒三角形)。
最近python写多了,学习python的时候想当然直接在函数定义的时候设置默认函数,如下:
fuction triangle(height,charset="*",direction="down"){ //body }
结果自然是无法运行,使用ie调试显示缺少‘)’。
查看资料之后发现JS不支持这种设置默认参数的方式,可以在函数内使用JS特殊的arguments设置默认参数。方式如下:
charset = arguments[1] ? arguments[1] : "*";
direction = arguments[2] ? arguments[2] : "down";
完整代码如下:
View Code
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <script> function tangle(height,charset,direction){ charset = arguments[1] ? arguments[1] : "*"; direction = arguments[2] ? arguments[2] : "down"; var i; var s = ''; if(direction == "up"){ for(i = 0;i <= height;i ++){ for(var j = 0;j < i;j ++){ s += charset; } document.write(s); s = ''; document.write("<br />"); } } else { for(i = height - 1;i >= 0;i --){ for(var j = i;j >= 0;j --){ s += charset; } document.write(s); s = ''; document.write("<br />"); } } } tangle(10,"o","up"); tangle(10); </script> </head> </html>
运行结果: