美文网首页
web前端面试第6记

web前端面试第6记

作者: 铲事官 | 来源:发表于2018-11-08 22:56 被阅读0次

    1小程序打开页面限制解决方案

    /**
      * @url  跳转地址   根目录 pages  
      */
    App({
        data:{
            max_page: 5
        },
        openPage: function(url) {
            if(!url) return;
            url = `pages/${url}`;
            var pages = getCurrentPages(),  //页面栈
                len = pages.length,
                dlt = '',
                max_page = this.data.max_page,// 页面最大限制
                target = '/' + url.replace(/^\//, '');
    
    
            for (var i = 0; i < len; i++) {
              if (pages[i].route == target) { 
                dlt = i + 1;
                break;
              }
            } 
    
            //页面不在栈中
            if (!dlt) { 
              if (len < max_page) {
                wx.navigateTo({
                  url: target
                });
              } else {
                wx.redirectTo({
                  url: target
                });
              }
            } else {
              wx.navigateBack({
                delta: len - dlt
              });
            }   
        }
    })  
    

    2 渲染的时候key给什么值,可以使用index吗,用id好还是index好

    key值就类似于数据库中的主键id一样,有且唯一

    3 [1, 2, 3, 4, 5]变成[1, 2, 3, a, b, 5]

    splice方法

    4 取数组的最大值(ES5、ES6)

    Math.max.apply(null,arr);
    var max2 = arr.sort(function(a,b){
        return b-a;
    })[0];
    
    Math.max(...arr);//es6
    var max = arr.reduce(function(a , b){ 
    return b > a ? b : a; 
    });
    

    5 循环绑定时的index是多少,为什么,怎么解决

    var list = document.getElementById("ulDemo").getElementsByTagName("li");
          for (var i = 0; i < list.length; i++) {
              var li = list[i];
              li.onclick= (function (index) {
                  return function () { alert("第" + (index + 1) + "条" + this.innerHTML) };
              })(i);
          }
    

    相关文章

      网友评论

          本文标题:web前端面试第6记

          本文链接:https://www.haomeiwen.com/subject/opbgxqtx.html