JS--编码规范

1. 请修复给定的 js 代码中,函数定义存在的问题

function functions(flag) {
    if (flag) {
      function getValue() { return 'a'; }
    } else {
      function getValue() { return 'b'; }
    }

    return getValue();
}

else中的语句相当于将if中的function重写,因此无论flag为何值,返回的方法始终为重写后的方法。将方法赋值给一个变量,方法就不会被重写,因此才能得到正确的结果。

function functions(flag) {
    if (flag) {
      var getValue = function() { return 'a'; }
    } else {
      var getValue = function() { return 'b'; }
    }

    return getValue();
}

2. 修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例

function parse2Int(num) {
    return parseInt(num,10);
}//按10进制去处理字符串,碰到非数字字符,会将后面的全部无视

parseInt(string, radix) 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

原文地址:https://www.cnblogs.com/sarah-wen/p/10757473.html