性能方面,算法复杂性方面,下面两个JS函数中哪一个用于将字符串的第一个字母大写更好,为什么?
Performance-wise,algorithmic complexity-wise which of the following two JS fucntion for capitializing the first letter of a string is better and why?
考虑以下两个函数
a) this.charAt(0).toUpperCase() + this.substring(1);
b) this.charAt(0).toUpperCase() + this.slice(1);
代码基本上是将字符串的第一个字母大写。
。
var name ="test name";
//var capitializeFirstLetter = name.charAt(0).toUpperCase() + name.slice(1);
var capitializeFirstLetter = name.charAt(0).toUpperCase() + name.substring(1);
alert(capitializeFirstLetter);
输出:测试名称
性能方面,算法复杂性方面哪个更好,为什么?
还有什么更好或更优化的吗?
谢谢
这两个方法具有完全相同的复杂性。所以,任何觉察到的不同完全是个人的意见。
这两种方法产生相同的结果,因此在输出方面没有偏好。仅供参考,输出是"Test name"
,而不是你认为的"Test Name"
。生成"Test Name"
需要不同的过程。
如果你真的关心微优化性能,那么回答所有性能问题的唯一方法就是创建一个或多个有意义的测试用例,设计一个性能测试(通常使用像jsperf这样的工具),然后在任何一个对你重要的JS引擎中测量你的测试用例,然后评估结果。
与性能问题一样,过早的优化是愚蠢的,因为不应该花时间在优化性能上,除非您知道实际存在与应用程序相关的可测量性能问题。在此之前,您应该编写干净、易于理解和可靠的代码,并将开发精力花在其他领域。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JavaScript按钮/输入/函数,字符串反转
- 需要字符串操作方面的帮助
- 性能方面,算法复杂性方面,下面两个JS函数中哪一个用于将字符串的第一个字母大写更好,为什么?
- 需要javascript中字符串对象操作方面的帮助