javascript-3.数组(1)

来源:互联网 发布:淘宝假货申诉凭证制造 编辑:程序博客网 时间:2024/06/08 06:40

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>
</head>
<body>
<h1>Stack(堆栈)对象的测试</h1>
<script language="javascript">
    function Stack()                    // 定义一个Stack(堆栈)对象的构造函数
    {
        var DateStorage = new Array();  // 创建一个数组作为数据仓库
        this.push = function( obj )     // push方法,压入数据对象
        {
            DateStorage.push( obj );    // 将数据存入仓库
        }
        this.pop = function()           // pop方法,从栈中弹出数据对象
        {
            return DateStorage.pop();   // 数据从仓库取出
        }
    }
    var cartridge_clip = new Stack();   // 测试Stack对象,模拟一个弹夹
    cartridge_clip.push( "子弹1" );     // 压入5颗子弹
    cartridge_clip.push( "子弹2" );
    cartridge_clip.push( "子弹3" );
    cartridge_clip.push( "子弹4" );
    cartridge_clip.push( "子弹5" );
    document.write( "<li>子弹入夹顺序:子弹1 子弹2 子弹3 子弹4 子弹5<br>" );    // 输出子弹入夹顺序
    document.write( "<li>子弹出夹顺序:" );
    for( ; ; )                          // 循环弹出夹中所有子弹
    {
        var cur = cartridge_clip.pop(); // 当前弹出的位于最顶端的子弹
        if( cur == null )               // 如果子弹弹尽时,跳出循环
        {
            break;
        }
        document.write( cur + " " );    // 输出当前子弹名称
    }
</script>
</body>
</html>

执行效果:

Stack(堆栈)对象的测试

  • 子弹入夹顺序:子弹1 子弹2 子弹3 子弹4 子弹5
  • 子弹出夹顺序:子弹5 子弹4 子弹3 子弹2 子弹1

  • 0 0
    原创粉丝点击