相关疑难解决方法(0)

在什么JS引擎中,特别是对于LowerCase和toUpperCase的区域设置敏感?

在一些库的代码中(例如AngularJS,链接指向代码中的特定行),我可以看到使用自定义大小写转换函数而不是标准函数.假设在具有土耳其语语言环境的浏览器中,标准函数不能按预期工作,这是合理的:

console.log("SCRIPT".toLowerCase()); // "scr?pt"
console.log("script".toUpperCase()); // "SCR?PT"
Run Code Online (Sandbox Code Playgroud)

但这是真的还是一直如此?浏览器真的有这样的表现吗?如果是这样,他们中的哪一个呢?node.js怎么样?其他JS引擎?

这些toLocaleLowerCasetoLocaleUpperCase方法的存在意味着toLowerCase并且toUpperCase是区域不变的,不是吗?

对于什么样的浏览器,具体而言,它的角团队保留此检查的代码:if ('i' !== 'I'.toLowerCase())...


如果您的浏览器(设备)使用土耳其语或阿塞拜疆语区域设置,请运行此代码段并在发现问题确实存在时写信给我.

if ('i' !== 'I'.toLowerCase()) {
  document.write('Ooops! toLowerCase is locale-sensitive in your browser. ' +
    'Please write your user-agent in the comments to this question: ' +
    navigator.userAgent); 
} else {
  document.write('toLowerCase isn\'t locale-sensitive in your browser. ' +
    'Everything works as expected!');
}
Run Code Online (Sandbox Code Playgroud)
<html lang="tr">
Run Code Online (Sandbox Code Playgroud)

javascript unicode turkish internationalization angularjs

21
推荐指数
2
解决办法
2307
查看次数