zoukankan      html  css  js  c++  java
  • 小白学前端12

    1.
    var string = "you are";
    var text = string;
    string = "best";
    console.log(text);  //输出"you are"
    变量为一存储空间,但text=string不是说text指向string的存储空间,
    而是text新建一个存储空间来存储string的值

    var string = {0:"you are"};
    var text = string;
    string[0]="best";      //输出{0:"best"}
    //string = {0:"best"}; //输出{0:"you are"}
    console.log(text);
    什么时候为指向呢?--数组!(对象)

    2.
    var array1=[1,2,3];
    var array2=[3,4,5];
    array1.concat(array2);
    console.log(array1);
    因为concat为纯函数,不会带来副作用的,以下为正解:

    var array1=[1,2,3];
    var array2=[3,4,5];
    var array3 = array1.concat(array2);
    console.log(array3);

    3.
    一个很好的验证闭包的例子
    var array =[1,2,3,4,5];
    for(var i=0;i<array.length;i++) array[i]+=1;
    console.log(array); //输出[2,3,4,5,6]

    var array =[1,2,3,4,5];
    function forEach(array,action){
      for(var i=0;i<array.length;i++)
        // array[i]+=1;
        action(array[i]);
    }
    forEach(array,function(arrayElem){
     arrayElem+=1;
    });
    console.log(array); //输出[1,2,3,4,5]

    来于之前对改变数组则会改变所有指向该数组的元素的认识,对forEach而言可以实现对每个元素遍历,并附加操作,
    那么直接执行改变数组元素的操作,不就会改变原来的数组了!
    实际并不会,哪怕forEach并未创建新数组
    因为闭包:局部变量会在每次函数调用时重新创立,不同的函数调用是不会对其他函数内的局部变量产生任何的影响
    在这里即是forEach调用的araay[i]已经是新创建的一个局部变量了,并不会对上一步函数调用的array产生任何影响

    4.例如一个数组[21,21,18,19,21]代表某个人生活在哪个世纪,
    另一个数组
    [{name:"xiaomin",age:23},
    {name:"lili",age:22},
    {name:"nina",age:18},
    {name:"bala",age:25},
    {name:"limingming",age:28}
    ]代表相应的人的基本信息,依次对应着第一个数组的元素,
    那么如何遍历将同一个世纪的人的平均年龄算出来呢?

    4.在做薇薇学院的第二个例子时,发现img和ul元素放在一个包裹块中,会出现换行,然后设定宽度不合适的话,会出现ul元素显示不出来(header加了overflow:hidden)
    >>>
    因为ul是块元素啊,即使被包含,它还是会出现上下文换行的啊

    解决办法:
        1.设置背景图片的方法(html里面没有img元素)

        2.设置img为absolute,再设置相对于包含块的偏移

    5.怎么让文字在div中垂直居中(例如导航栏里面a元素的文字)?
    >>>
    百度知道搜出来一个很好的答案:
        1.单行垂直居中:
        如果一个容器内只有一行文字,那么设置它的实际高度height和所在行的高度line-height相等是最简单的.(设定height与line-height相同)
        2.如果是一段文字,父元素不限高,可以采用padding: 20px 0; (设定padding,使上下padding值相同即可)
        3.如果是一段文字,父元素有固定高:
        div#wrap{height:400px;display:table}
        div#content{vertical-align:middle;display:table-cell;}
        ...//但以上ie6不支持
        div#wrap{height:400px;700px;position:relative}
        div#subwrap{position:absolute;top:50%}
        div#content{position:relative;top:-50%}
        //实际未测试出居中效果....也不知道问题出在哪


    6.怎么把ul前面的点去掉?
    list-style:none;

    7.怎么让文本段的首行缩进?
    text-indent:2em;
    但面对ol标签时,前面的序号并不能缩进怎么办?

    8.怎么让图片和文字包括在一起,形成一种相片的感觉?


  • 相关阅读:
    测序深度和覆盖度(Sequencing depth and coverage)
    让linux中 history显示每条命令的操作时间及操作用户【转】
    python报错IndexError: list index out of range
    优化MySQL的21个建议 – MySQL Life【转】
    Memcached实战之复制----基于repcached的主从【转】
    从xtrabackup备份恢复单表【转】
    binlog2sql的安装及使用
    mydumper安装及使用
    MySQL5.7 GTID在线开启与关闭【转】
    linux动态追踪神器——Strace实例介绍【转】
  • 原文地址:https://www.cnblogs.com/giggling/p/6876311.html
Copyright © 2011-2022 走看看