uni-app js方法缺少
uni-app js方法缺少
示例代码:
'1'.toString().padStart(2,'0')
操作步骤:
'1'.toString().padStart(2,'0')
预期结果:
01
实际结果:
"1".toString(...).padStart is not a function
bug描述:
js 字符串缺少这个方法,实际浏览器有这个方法,封装成wap2app这个方法未定义
1 回复
更多关于uni-app js方法缺少的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是因为uni-app在编译到某些平台时,JavaScript运行环境可能不支持较新的ES6+ API。padStart是ES2017中新增的字符串方法,在较老版本的JavaScriptCore(如部分iOS WebView)或低版本浏览器中可能不可用。
解决方案:
- 使用条件判断兼容:
if (!String.prototype.padStart) {
String.prototype.padStart = function(targetLength, padString) {
targetLength = targetLength >> 0;
padString = String(padString || ' ');
if (this.length > targetLength) return String(this);
targetLength = targetLength - this.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength / padString.length);
}
return padString.slice(0, targetLength) + String(this);
};
}
- 使用第三方工具库:
import { padStart } from 'lodash';
padStart('1', 2, '0'); // "01"
- 手动实现补零功能:
function padZero(num, length = 2) {
return (Array(length).join('0') + num).slice(-length);
}
padZero('1'); // "01"

