JavaScript字符统计代码报错:输出undefined和NaN如何解决?
问题修正方案
你的代码出现undefined和NaN是因为字符串长度属性拼写错误:你把正确的length写成了lenght,导致无法读取到有效的字符长度值,进而运算时得到非数字(NaN)。
基础修正代码
只需要修正拼写错误即可得到正常输出:
var tweet = prompt("Write something here:"); alert("You have written " + tweet.length + " characters, you have " + (140 - tweet.length) + " characters left.");
更健壮的版本(处理用户取消输入的情况)
如果用户点击prompt弹窗的「取消」按钮,tweet会变成null,直接访问null.length会报错,补充判断逻辑可以避免这种情况:
var tweet = prompt("Write something here:") || ""; var charCount = tweet.length; alert(`You have written ${charCount} characters, you have ${140 - charCount} characters left.`);
这里用|| ""把null转为空字符串,同时用模板字符串让代码更易读。
内容的提问来源于stack exchange,提问作者businessuser_01
相关产品推荐
相关产品推荐

