如何使用原型定义JavaScript中计算字符串实际长度的新方法

如何使用原型定义JavaScript中计算字符串实际长度的新方法

在JavaScript中,您可以使用String.length属性获取字符串变量的长度。无论字符串是什么,这个方法都会给您一个被引号括起来的字符串。但是在使用String.length方法时会遇到一个问题。让我们讨论一下什么时候会遇到这个问题以及如何解决它。

语法:

string.length
HTML

这里,字符串可以是一个带有字符串值的变量,也可以是直接用引号括起来的字符串(“”)。

示例1:

<script>
 
// 声明一个具有值“Hello Geeks”的字符串
let str1 = "Hello Geeks";
 
// 在控制台上打印给定字符串str的长度
console.log(str1.length);
</script>
HTML

输出:

11
HTML

解释: 字符串str1的值是“Hello Geeks”,长度为11。我们可以通过自己数数来直接得到11。请记住,length方法会在遇到任何字符时计算长度,即使是遇到空格也会计算在内。

示例2:

<script>
 
// 声明一个具有值“  Hello Geeks  ”的字符串
let str2 = "  Hello Geeks  ";
 
// 在控制台上打印给定字符串str的长度
console.log(str2.length);
 
</script>
HTML

输出:

15
HTML

解释: 字符串str2的值为“ Hello Geeks ”,通过length方法计算得到的长度为15。但是,字符串str2的实际长度仅为11,因为length方法计算的是被引号括起来的字符的长度,无论它是什么。

但是我们需要得到实际长度,我们如何实现呢?我们可以通过为String对象定义原型来实现。在定义中,我们将定义该操作的实现。

让我们看一下使用原型定义的新的真实长度方法的实现。

变量“geeks”是一个String对象,该对象包含一个给出空格计数长度的length方法,所以我们将通过定义字符串对象的原型来修改length方法,并将其命名为truelength。String对象的trim()方法将返回删除开头和结尾的空格的字符串。我们将获得修剪后的字符串,然后可以计算给定字符串的长度,该字符串的长度将是没有起始和结束空格的实际字符串长度。

<script>
 
// 声明一个具有值“  Hello Geeks  ”的字符串。
let geeks = "  Hello Geeks  ";
 
// 为字符串对象定义原型。
String.prototype.truelength = function(){
    // trim()方法用于删除字符串开头和结尾的空格。
    console.log(this.trim().length);
}
 
// 调用我们通过原型定义的truelength方法。
geeks.truelength();
 
</script>
HTML

输出:

11
HTML

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程