javascript挑战编程技能-第八题:99乘法表

简介: javascript挑战编程技能-第八题:99乘法表

今天比较晚,直接进入正题吧!

题目:创建一个程序,生成从0到12的乘法表。

示例输出

0*0=0

0*1=0

...

12*11=132

12*12=144

条件:

使用一个嵌套循环来完成该程序。

这个没什么好说的,直接上代码吧!

前面的输入输出都讲得很详细了,这里直接上主要函数吧。这个很初级,没什么好说的。

<body>
<div id="output">
</div>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script>
    var htmlString = "";
    for(var i = 0;i<=12;i++){
        for(var j=0;j<=12;j++){
            htmlString+="<p>"+i+"*"+j+"="+i*j+" </p>";
        }
    }
    console.log(htmlString);
    $('#output').html(htmlString)
</script>
</body>

挑战:

创建一个图形界面程序。使用下拉列表来修改基数。

当用户选中数字时,生成新的乘法表

生成一个下面的表

0 1
0 0 0
1 0 1

这里要说的是html中关于table这个标签。这个之前“网络三剑客“时代,通过界面拖动自动生成的代码里面有这大量的table作为布局。


之后不知道为什么有不少的人很排斥使用table这个标签。但是,其实有时候这个标签真的好用。

在有表格样式需要的时候,我觉得既然设计了这个标签,那就一定有它存在的意义,这里提一句,希望大家不要排斥它。

在合适的时候使用table会减轻你很多的工作量哦,比如垂直布局,当然垂直布局有自己合适的方法。

<body>
<select id="first" onchange="changeSelect()"></select>
<select id="last" onchange="changeSelect()"></select>
<div id="output">
</div>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script>
   var init = function () {
       //这里用循环生成12个选项,添加到两个选择框里面
       var option = "";
       for(var i = 0 ;i<=12;i++){
           option+="<option value='"+i+"'>"+i+"</option>";
       }
       $('#first').html(option);
       $('#last').html(option);
       //00也要显示所以初始化调用一次
       changeSelect()
   }();
    function changeSelect(){
        var firstValue = $("#first").val();
        var lastValue = $("#last").val();
        if(firstValue && lastValue){
            update(parseInt(firstValue),parseInt(lastValue));
        }
    }
    function update(first,last){
        var outString = "<table border='1'><tr><th> </th>";
        //生成表头
        for(var i = 0;i<=first;i++){
            outString+="<th>"+i+"</th>";
        }
        outString+="</tr> ";
        //生成内容
        for(var j =0 ;j<=last;j++){
            outString+="<tr><td>"+j+"</td>";
            for(var k=0;k<=first;k++){
                outString+="<td>"+k*j+"</td>";
            }
            outString += " </tr>"
        }
        outString += "</table>";
        $('#output').html(outString);
    }
</script>
</body>

代码运行如下:

image.png

仔细阅读代码,可能你就会发现,使用jq做数据绑定的时候,会借助循环,而且代码也不便于管理。

后面如果程序中有再使用到比较大量的数据绑定,那我们就先选用最容易入门的angularjs来完成双向绑定。

第一次看到这个题目的时候,我还在想这是一个不错的题材,我可以讲得内容还不少,但是今天真正动手写时,

我却忘记我要写什么内容了。暂时做一个前记吧,后面有讲到相关内容再来重做这道题目吧。

这里值得一提的是,大家可以自己动手编写一下这个程序,对于理解循环嵌套还是很有帮助的,外循环内循环的执行顺序,

我想真正搞通这个题目的话,就能很好的理解循环的概念了。


第八节课就到这里结束了吧,
谢谢你的阅读.

目录
相关文章
|
2月前
|
存储 JavaScript 前端开发
JavaScript编程实现tab选项卡切换的效果+1
JavaScript编程实现tab选项卡切换的效果+1
|
3月前
|
JavaScript 前端开发 编译器
解锁JavaScript模块化编程新纪元:从CommonJS的基石到ES Modules的飞跃,探索代码组织的艺术与科学
【8月更文挑战第27天】随着Web应用复杂度的提升,JavaScript模块化编程变得至关重要,它能有效降低代码耦合度并提高项目可维护性及扩展性。从CommonJS到ES Modules,模块化标准经历了显著的发展。CommonJS最初专为服务器端设计,通过`require()`同步加载模块。而ES Modules作为官方标准,支持异步加载,更适合浏览器环境,并且能够进行静态分析以优化性能。这两种标准各有特色,但ES Modules凭借其更广泛的跨平台兼容性和现代语法逐渐成为主流。这一演进不仅标志着JavaScript模块化的成熟,也反映了整个JavaScript生态系统的不断完善。
53 3
|
1月前
|
XML JavaScript 前端开发
JavaScript控制台:提升Web开发技能的秘密武器
作为Web开发人员,掌握JavaScript控制台中的各种方法至关重要。本文介绍了22种实用的console方法,从基本的log()到高级的profile()和memory,每种方法都配有示例和说明,帮助开发者更高效地调试和记录信息。通过了解这些工具,您可以优化代码、提高开发速度,减少错误,使编码过程更加顺畅愉快。
42 1
JavaScript控制台:提升Web开发技能的秘密武器
|
26天前
|
自然语言处理 JavaScript 前端开发
JavaScript闭包:解锁编程潜能,释放你的创造力
【10月更文挑战第25天】本文深入探讨了JavaScript中的闭包,包括其基本概念、创建方法和实践应用。闭包允许函数访问其定义时的作用域链,常用于数据封装、函数柯里化和模块化编程。文章还提供了闭包的最佳实践,帮助读者更好地理解和使用这一强大特性。
15 2
|
2月前
|
JavaScript 前端开发
JavaScript编程实现tab选项卡切换的效果
JavaScript编程实现tab选项卡切换的效果
|
2月前
|
JavaScript 前端开发
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
|
2月前
|
JavaScript 前端开发 安全
JavaScript编程实现字符和字符串翻转
JavaScript编程实现字符和字符串翻转
|
2月前
|
JavaScript 前端开发
用JavaScript编程定义二维数组并初始化,然后输出元素值
用JavaScript编程定义二维数组并初始化,然后输出元素值
|
3月前
|
JavaScript
js渲染乘法表
js渲染乘法表
31 1
|
3月前
|
JavaScript 前端开发 Oracle
下一篇
无影云桌面