toLocaleLowerCase() 和 toLowerCase() 之间的区别[重复]

2024-04-27

我试图fiddle http://jsfiddle.net/xameeramir/kr33b0aL/ with toLocaleLowerCase() http://www.w3schools.com/jsref/jsref_tolocalelowercase.asp and toLowerCase() http://www.w3schools.com/jsref/jsref_tolowercase.asp方法。

function ByLocale() {
  document.getElementById("demo").innerText.toLocaleLowerCase();
}

function ByLower() {
  document.getElementById("demo").innerText.toLowerCase();
}
<p>Click the button to convert the string "HELLO World!" to lowercase letters.</p>

  <button onclick="ByLocale();">By Locale LowerCase</button>
  <button onclick="ByLower();">By LowerCase</button>

<p id="demo">HELLO World!</p>

我的问题是:

  • What is Locale,因为这两个函数似乎返回相似的输出?
  • 这两种方法有什么区别?
  • 为什么小提琴代码没有被执行?

Unlike toLowerCase, toLocaleLowerCase考虑到本地化。在大多数情况下,对于大多数语言,它们会产生类似的输出,但某些语言的行为会有所不同。

看看MDN上的描述: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase

The toLocaleLowerCase()方法返回根据任何特定于区域设置的大小写映射转换为小写的字符串值。toLocaleLowerCase()不影响字符串本身的值。在大多数情况下,这会产生与以下相同的结果toLowerCase(),但对于某些语言环境(例如土耳其语),其大小写映射不遵循 Unicode 中的默认大小写映射,可能会出现不同的结果。

为了完整性,toUpperCase and toLocaleUpperCase行为类似,但大写除外。


现在,针对您的代码片段没有执行任何操作的问题。实际上有2个问题。

  1. 这些方法返回新字符串并且不会修改原始字符串(JavaScript 字符串是不可变的)。您需要将值重新分配回元素。

  2. innerText is non-standard, and will not work across all browsers. Use textContent instead, and only add innerText to support old versions of IE. UPDATE: innerText https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText is now standardized, though it was not at the time this answer was posted.

工作片段:

const demo = document.getElementById('demo');
const str = demo.textContent;

function toLowerCase() {
  demo.textContent = str.toLowerCase();
}

function toLocaleLowerCase() {
  demo.textContent = str.toLocaleLowerCase();
}

function toLocaleLowerCaseDe() {
  demo.textContent = str.toLocaleLowerCase('de-DE');
}

function toUpperCase() {
  demo.textContent = str.toUpperCase();
}

function toLocaleUpperCase() {
  demo.textContent = str.toLocaleUpperCase();
}

function toLocaleUpperCaseDe() {
  demo.textContent = str.toLocaleUpperCase('de-DE');
}

function reset() {
  demo.textContent = str;
}
<p>Click the buttons to apply each function to the string below.</p>

<button onclick="toLowerCase();">toLowerCase</button>
<button onclick="toLocaleLowerCase();">toLocaleLowerCase</button>
<button onclick="toLocaleLowerCaseDe();">toLocaleLowerCase("de-DE")</button>
<br><br>
<button onclick="toUpperCase();">toUpperCase</button>
<button onclick="toLocaleUpperCase();">toLocaleUpperCase</button>
<button onclick="toLocaleUpperCaseDe();">toLocaleUpperCase("de-DE")</button>
<br><br>
<button onclick="reset();">reset</button>

<p id="demo">WELCOME TO THE WORLD FÊTE! In HAUPTSTRAßE, İstanbul.</p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

toLocaleLowerCase() 和 toLowerCase() 之间的区别[重复] 的相关文章

随机推荐

  • Android facebook 4.0.0 分享对话框不分享内容

    几个小时以来 我一直在尝试通过 facebook 4 0 0 sdk 分享我的 android 应用程序中的内容 我完全按照Facebook 分享文档 https developers facebook com docs sharing a
  • 多个 nginx 入口重写的默认路径

    这是我的情况 我在 kubernetes 入口 上 有两个 docker 镜像 一个专用于 Web 第二个专用于 api 在下一个配置下 在消息末尾 web将显示将进行一些调用的前端 api 那里一切都好 but 是 404 因为没有定义任
  • 使用多个条件更新 mongodb 中嵌套数组中的对象

    mongo 中的示例文档如下所示 但是我的集合有几千个文档 其中一些具有以下所有测试 有些仅具有以下测试的子集 id ObjectId 52435f0f6f73205f7d37a2b0 ID schoolID 1234 institutio
  • accept() 创建一个新套接字是什么意思?

    我的问题基于以下理解 套接字由 ip port 定义 服务器和客户端都有自己的套接字 Socket连接由五组server ip server port client ip client port protocol定义 套接字描述符是标识套接
  • 如何将带有嵌套节点(父/子关系)的 XML 导入 Access?

    我正在尝试将 XML 文件导入 Access 但它创建了 3 个不相关的表 也就是说 子记录被导入到子表中 但无法知道哪些子记录属于哪个父记录 如何导入数据来维护父子节点 记录 之间的关系 以下是 XML 数据的示例
  • 将目录从 Assets 复制到本地目录

    我正在尝试使用资产文件夹中的目录并将其作为File 是否可以访问 Assets 目录中的某些内容File 如果没有 如何将 Assets 文件夹中的目录复制到应用程序的本地目录 我会像这样复制一个文件 try InputStream str
  • Tkinter 嵌套主循环

    我正在写一个视频播放器tkinter python 所以基本上我有一个可以播放视频的 GUI 现在 我想实现一个停止按钮 这意味着我将有一个mainloop 对于 GUI 还有另一个嵌套mainloop 播放 停止视频并返回 GUI 启动窗
  • JyNI Eclipse 设置

    我在 Eclipse 中有以下 Java 文件 package java python tutorial import org python core PyInstance import org python util PythonInte
  • 仅使用 NumPy einsum 处理上三角元素

    我使用 numpy einsum 来计算形状为 3 N 的列向量 pts 数组与其自身的点积 从而得到形状为 N N 的矩阵 dotps 与所有点积 这是我使用的代码 dotps np einsum ij ik gt jk pts pts
  • 为什么 Ruby 解析文件时常量不像局部变量那样被初始化?

    在 Ruby 中 我知道我可以做这样的事情 if false var Hello end puts var 应用程序不会崩溃 并且var只需设置为nil 我读到 这种情况的发生是由于 Ruby 解析器的工作方式造成的 为什么同样的方法不适用
  • 在 MVC 5 中,如何在单个 Ajax POST 请求中发送 ViewModel 和文件?

    我有一个 ASP NET MVC 5 应用程序 我正在尝试发送带有模型数据的 POST 请求 并且还包括用户选择的文件 这是我的 ViewModel 为了清晰起见进行了简化 public class Model public string
  • 给GAC,还是不给GAC?

    我有一个用 ASP NET 3 5 编写的数据访问层 DAL 并使用 Microsoft 模式和实践库 以下简称 P P 来完成其数据访问 我安装了 P P 它驻留在我的 GAC 中 因此 从逻辑上讲 我的 DAL 在 GAC 中引用它 因
  • `checkout` = `reset` + `symbolic ref`?

    Suppose a branch是一个现有分支 指向与之前不同的提交HEAD指着 HEAD可能直接或通过某些方式指向提交branch 以下命令等效吗 git checkout a branch and git symbolic ref HE
  • 分布式张量流中的并行进程

    我有带有训练参数的张量流神经网络 它是代理的 策略 网络正在核心程序的主张量流会话的训练循环中进行更新 在每个训练周期结束时 我需要将该网络传递给几个并行进程 工作人员 这些进程将使用它来从代理策略与环境的交互中收集样本 我需要并行执行 因
  • 没有传输安全性的 WCF 可靠会话不会按时发生故障事件

    我遇到了可靠会话的一个非常有趣的行为 我使用的是netTcp绑定 双工通道 可靠会话 当我尝试侦听channel faulted时 如果安全模式设置为transport 则当客户端断开连接时 故障事件将立即触发 但是 当我将绑定的安全模式设
  • 在实体框架中附加集合

    使用实体框架 我可以使用附加单个对象 entity Attach 但是 我没有看到任何方法允许我将多个对象的集合 数组添加到实体 我必须循环遍历集合中的每个项目并调用entity Attach 每一次 是的 您必须循环遍历子集合并Attac
  • 在 MySQL 中存储 IPv6 地址

    正如 需要支持 ipv6 的 inet aton 和 inet ntoa 函数 http bugs mysql com bug php id 34037 目前没有用于存储 IPv6 地址的 MySQL 函数 用于存储 插入的推荐数据类型 函
  • 如何在 CSS 中用 SVG 图标替换 Web 字体(Font Awesome)?

    我注意到在我的 CSS 文件中 有一些使用 Font Awesome Web 字体的规则 如下所示 ul fancy li before category page ul li before display none font style
  • 删除URL参数而不刷新页面

    我试图删除 之后的所有内容在文档准备好的浏览器 URL 中 这是我正在尝试的 jQuery document ready function var url window location href url url split 0 我可以做到
  • toLocaleLowerCase() 和 toLowerCase() 之间的区别[重复]

    这个问题在这里已经有答案了 我试图fiddle http jsfiddle net xameeramir kr33b0aL with toLocaleLowerCase http www w3schools com jsref jsref