// 将字符串转化为整数 比如 ' -123' : -123 '1829 whdi ' : 1829// 1. .trim()// 2. 拿到数字的符号 - +// 3. 取连续整数,非连续的后面的字符就不要了,舍弃// 4. 溢出判断function intNum(str) { let secStr = str.trim() // trim() 不改变原字符串,所以就必须另外定义一个变量 let result = 0 let start = 0 // 当中下标来使用 而不是使用 for(i) 发现start非常好用 if (secStr.length == 0) { return result } let sign = 1 if (secStr[start] == '-') { // 拿到当前的符号 sign = -1 start++ // 默认 每一个数字都会加符号的 } else { start++ } // 取出连续数字 while (start if (secStr[start] == ' ' || typeof secStr[start] == String) { return result } else { result = result * 10 + secStr[start++] * 1 * sign // 核心原理:上一次的结果*10 + sign*当前值 console.log(result); } } return result}const num = intNum(" +123 345")console.log(num);