小白學前端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;width:700px;position:relative}
    div#subwrap{position:absolute;top:50%}
    div#content{position:relative;top:-50%}
    //實際未測試出居中效果....也不知道問題出在哪html


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

7.怎麼讓文本段的首行縮進?
text-indent:2em;
但面對ol標籤時,前面的序號並不能縮進怎麼辦?

8.怎麼讓圖片和文字包括在一塊兒,造成一種相片的感受?


數組

相關文章
相關標籤/搜索