朮生

文章 评论 浏览 28

朮生 2022-05-04 13:55:34

综合上面各位大佬的答案,使用立即执行函数如果没有return值的话相当于

setTimeout(undefined, Math.floor(Math.random() * 1000));

浏览器会报错,所以还是需要加入返回值的

 setTimeout( (() => {
        console.log(n);
    	return ()=>{};
  })(), Math.floor(Math.random() * 1000));
window.setTimeout = function (vCallback, nDelay /*, argumentToPass1, argumentToPass2, etc. >*/) {
var oThis = this, aArgs = Array.prototype.slice.call(arguments, 2);
return __nativeST__(vCallback instanceof Function ? function () {
vCallback.apply(oThis, aArgs);
} : vCallback, nDelay);
};`

只是判断是不是function类型

第 101 题:修改以下 print 函数,使之输出 0 到 99,或者 99 到 0

朮生 2022-05-04 13:53:47
function mybtoa(data) {
    var result = [];
    var bArray = [];
    var baseTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789+/"
    for (let index = 0; index < data.length; index++) {
      bArray.push(data.charCodeAt(index).toString(2))
    }
    bArray = bArray.map(para => {
      while (para.length < 8) {
        para = "0" + para;
      }
      return para;
    })
    var str = bArray.join('');
    var addZero =3- (str.length/8)%3
    var addAscii='';

    for (let index = 0; index < str.length%6; index++) {
      str+='0'
    }
   
    for (let index = 0; index < addZero; index++) {
      addAscii+="=";
    }
    for (let index = 0; index < str.length; index += 6) {
      result.push(baseTable[parseInt(str.substr(index, 6), 2)]);

    }
    return result.join('')+addAscii
  }

第 144 题:手写二进制转 Base64

朮生 2022-05-04 13:50:29

// 如果是全部扁平就递归,传入已经处理的 output,递归中接着处理 output else { flatten(value, shallow, strict, output); idx = output.length; }
这个idx重置 有作用吗。。。麻烦又大佬知道的能告知一下,谢谢

递归数组后,output会变啊,不变idx,后面再插入数组项不就变成替换以后的了吗,我不明白的是这里怎么不直接用push呢

递归时output会变,但不是函数里面会重新 定义var idx = output.length 吗 这和 递归函数之后的那句代码idx = output.length; 并没有关系啊

JavaScript 专题之数组扁平化

朮生 2022-05-04 09:17:35

toggle:
1、判断高度
2、判断字符数

第 206 题:如何实现多行文本 展开收起 效果?

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文