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>

运行结果:

posted @ 2012-04-18 22:33  木头lbj  阅读(3064)  评论(0编辑  收藏  举报