javascript挑战编程技能-第二题:计算字符数

简介: javascript挑战编程技能-第二题:计算字符数

问题:创建一个程序,提示用户输入字符串,然后输出这个字符串以及其中包含的字符数。

要求:

1、确保输出中包含原始的字符串。

2、使用一个输出语句来构造输出。

3、使用javascript内置函数来确定字符串长度。

4、如果用户什么也没有输入,提示用户输入。

首先提一下第二点的要求,尽量把所有独立的方法构造成单独的函数,有利于后续理解函数式编程。

根据上一节课,我们知道了,在html中的输入使用input控件来实现,这节课我们依旧这么使用。

还是使用一个div作为输出控件。

接下来我们来实现这个简单的程序,代码如下:

<body>
<div>请输入一段字符:<input  id="inputString" type="text" onchange="inputChange()"></div>
<div id="errorString" style="color: red;display: none;">请在对话框中输入一段字符!</div>
<div ><span id="pointString"></span></div>
<script>
    function inputChange()
    {
        var inputString = document.getElementById("inputString").value
        var strLength = sumStringLength(inputString)
        if(strLength==0) document.getElementById("errorString").style.display="block"
        var pointString = inputString+"的字符数是"+strLength
        point(pointString,"pointString")
    }
    function sumStringLength(str)
    {
        return str.length
    }
    function point(str,elementId)
    {
        document.getElementById(elementId).innerHTML=str
    }
</script>
</body>


运行截图:

image.png

好了,到这里我们实现了题目的所有要求。

整个程序跑下来也没有任何异常。

可是我这里要说的是,这样一个程序,其实有非常多的错误。

这些错误不是指语法错误,而是指编程规范错误。

我从最开始学习c语言,我的老师就总是强调一句话:语言不是最重要的,最重要的是编程思想和编程规范。


下面是我修改后的代码,大家可以对比一下差别。

<body>
<div>请输入一段字符:<input  id="inputString" type="text" onchange="inputChange()"></div>
<div id="errorString" style="color: red;display: none;">请在对话框中输入一段字符!</div>
<div ><span id="pointString"></span></div>
<script>
    function sumStringLength(str) {
        return str.length;
    }
    function point(str,elementId) {
        document.getElementById(elementId).innerHTML=str;
    }
    function inputChange() {
        var inputString = document.getElementById("inputString").value;
        var strLength = sumStringLength(inputString);
        if(strLength==0){
            document.getElementById("errorString").style.display="block";
        }
        var pointString = inputString+"的字符数是"+strLength;
        point(pointString,"pointString");
    }
</script>
</body>



第二节课就到这里结束了。

目录
相关文章
|
6月前
|
JavaScript 前端开发 Java
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
157 24
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
|
11月前
|
JavaScript 前端开发
|
7月前
|
JavaScript Ubuntu Linux
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
|
存储 JavaScript 前端开发
JavaScript编程实现tab选项卡切换的效果+1
JavaScript编程实现tab选项卡切换的效果+1
|
8月前
|
JavaScript 前端开发 IDE
【编程向导】Js与Ts差异详解:选择与权衡
JavaScript 一直是 Web 开发的基石,以其灵活性和动态性著称,但其松散类型可能导致大型项目中出现难以调试的错误。TypeScript 作为 JavaScript 的超集,通过引入静态类型系统,提供了更高的类型安全性和更好的工具支持,尤其适合大型团队和复杂项目。本文详细对比了 JavaScript 和 TypeScript 的优缺点,并提供了实际代码示例,帮助开发者根据项目需求选择合适的工具。
955 2
|
12月前
|
XML JavaScript 前端开发
JavaScript控制台:提升Web开发技能的秘密武器
作为Web开发人员,掌握JavaScript控制台中的各种方法至关重要。本文介绍了22种实用的console方法,从基本的log()到高级的profile()和memory,每种方法都配有示例和说明,帮助开发者更高效地调试和记录信息。通过了解这些工具,您可以优化代码、提高开发速度,减少错误,使编码过程更加顺畅愉快。
143 1
JavaScript控制台:提升Web开发技能的秘密武器
|
11月前
|
前端开发 JavaScript 持续交付
提高JavaScript编程效率
提高JavaScript编程效率
135 3
|
11月前
|
自然语言处理 JavaScript 前端开发
JavaScript闭包:解锁编程潜能,释放你的创造力
【10月更文挑战第25天】本文深入探讨了JavaScript中的闭包,包括其基本概念、创建方法和实践应用。闭包允许函数访问其定义时的作用域链,常用于数据封装、函数柯里化和模块化编程。文章还提供了闭包的最佳实践,帮助读者更好地理解和使用这一强大特性。
93 2
|
缓存 JavaScript 前端开发
探索Vue.js中的计算属性与侦听器
【10月更文挑战第5天】探索Vue.js中的计算属性与侦听器
191 1
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
530 0

热门文章

最新文章