中心考核

你學到的每一點東西都要重視起來,學到的每一點東西都要深究,學到的每一點東西都要記錄下來,很整齊,很有規律的記錄,并且時常回顧

github地址

基礎題

  1. 標簽+文本+注釋

  2. html5語義化參考資料

    語義化存在的意義:
    結構清晰;
    具有良好的可讀性;
    對屏幕閱讀器等輔助工具友好;
    對搜索引擎友好;
    便于團隊開發和維護;

    • 結構相關標簽<header><nav><article><section><aside><footer>
    • 文本相關標簽<i>、<b>、<em>
  3. DTD:DOCTYPE聲明。DOCTYPE是document type(文檔類型)的簡寫,用來說明你用的XHTML或者HTML是什么版本。瀏覽器就根據你定義的DTD來解釋你頁面的標識,并展現出來。

  4. 常用的meta標簽githubgist是什么 常用的meta標簽整理--一絲

  5. 塊級元素、行內元素

  6. css定位和清除浮動:
    css定位機制:普通流,浮動,絕對定位
    清除浮動的方式:
    1.父元素設置 overflow:hidden
    2.父元素設置overflow:auto
    3.父元素也設置浮動

推薦清除浮動代碼
//給高度塌陷的父元素加上 clearfix 類名
 .clearfix:before,
.clearfix:after {
       content: "";
       display: table;
       clear: both;
} ```
7. BFC:  
    - 觸發BFC的機制:
            
            float 除了none以外的值 
             
            overflow 除了visible 以外的值(hidden,auto,scroll ) 
             
            display (table-cell,table-caption,inline-block) 
             
            position(absolute,fixed) 
             
            fieldset元素
    - BFC特性:
    
            1)塊級格式化上下文會阻止外邊距疊加
            2)塊級格式化上下文不會重疊浮動元素
            3)塊級格式化上下文通常可以包含浮動  
8. 左欄定寬,右欄寬度自適應 `padding-left:aside的寬度`,注意`文檔流`
[參考資料:強大的負邊距](http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html)
    - 負邊距對普通文檔流元素的影響

            ABC
            B(margin-left:-10px;)
            A沒有動。B寬度沒有改變。C向左移動10px。AB內容有重疊
                
    - 負邊距可以增加元素的寬度
            子元素寬度超出父元素
            父元素設置負邊距包括子元素
            父元素設置overflow:hidden
            父元素正常囊括子元素
    - 負邊距對浮動元素的影響
            浮動元素“流”
            下面的也會跑到上面去,會折疊
            但里面文字會發生環繞
9. 圣杯布局

            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>Document</title>
                <style type="text/css">
                .main{        
                    float: left;       
                    width: 100%;   
                    background-color: #00FFFF;
                    height: 100px;
                 }  
                .sub{       
                    float: left;        
                    width: 190px; 
                    height: 100px;       
                    margin-left: -100%; 
                    background-color: #00FF00;   
                }   
                .extra{        
                    float: left;        
                    width: 190px;
                    height: 100px;        
                    margin-left: -190px;   
                    background-color: #FF0000;
                 }
                 #hd{
                    width: 100%;
                    height: 100px;
                    background-color: #FFFF00;
                 }
                </style>
            </head>
            <body>
            <div id="page">    
                  <div id="hd"></div>    
                     <div id="bd">        
                          <div class="main"></div>        
                          <div class="sub"></div>        
                          <div class="extra"></div>    
                     </div>   
                  <div id="ft"></div>
            </div>
            </body>
            </html>
10. js判斷數據類型:
    `Object.prototype.toString.call(a).slice(8,-1)`  
    這行代碼可以判斷的js類型有:
    `Array/Boolean/String/Function/Object/RegExp/Null/Undefined/Date/Number`
11. 判斷數組中最大的數:`Array.sort()`引申:array、string的相關一系列方法
12. 事件委托

            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>Document</title>
                <style type="text/css">
                li{
                    cursor: pointer;
                }
                </style>
            </head>
            <body>
                <div class="item">
                    <li>item1</li>
                    <li>item2</li>
                    <li>item3</li> 
                </div>   
                <button>增加節點</button>
                <script type="text/javascript">
                    var item = document.getElementsByClassName('item')[0],
                        li = document.getElementsByTagName('li'),
                        btn = document.getElementsByTagName('button')[0];
                    item.addEventListener('click',function(e){
                        if(e.target && e.target.nodeName == 'LI'){
                            console.log(e.target.innerText);
                        }
                    },false)
                    btn.addEventListener('click',function(e){
                        var newLi = document.createElement('li');
                        newLi.innerText = "新的li";
                        item.appendChild(newLi);
                    },false)
            
                </script>
            </body>
            </html>
 13. 變量提升,函數提升,閉包原理和作用
 14. this指向,改變this指向call(參數里面可以有包含的數組)apply(只能是逗號分隔的參數[array聯想])
 15. 繼承  [不要再使用new了](http://www.infoq.com/cn/articles/javascript-instantiation-and-inheritance)
 

         if(!Object.create){//object.create()是ES5新增方法
                Object.create= (function(){
                    function F(){}   //創建中介函數(bridge)
                    return function(obj) {
                        if(arguments.length !== 1) {
                            throw new Error("僅支持一個參數");
                        }
                        F.prototype = obj;   //原形綁定
                        return new F();      //返回實例
                    }
                })()
        //最終返回的結果,既是F的實例屬性,享有F構造函數中的所有屬性和方法(因為F構造函數為空,所以完全不用擔心會有多余不想要的屬性方法存在),[[prototype]]又指向F.prototype,返回的結果是一個對象!!!
        }
        function Person(name, age) {
                this.name = name;
                this.age = age;
        }
        Person.prototype.walk = function() {//寫到了prototype中,walk一定是想要共享的方法
                console.log("走路....");
        } 
        function Child(name, age, address) {
                Person.call(this, name, age);//這里繼承了person構造函數中想要傳遞的一些屬性
                this.address = address;
        }
        Child.prototype = Object.create(Person.prototype);//不要再使用new了!
        Child.prototype.talk = function() {
            console.log("說話ing.....")
        }
        //不用new的原因是因為你不想要Child繼承Person構造函數中的所有屬性和方法,而是想讓他單獨繼承Person.prototype中共享的屬性和方法。


##附加題
####移動端
0. 響應式頁面的做法:媒體查詢[@參考資料](http://blog.csdn.net/lee_magnum/article/details/12144187),流體網格(%),flex模式
2. `box-sizing:   content-box | border-box`
    - content-box:  padding和border不被包含在定義的width和height之內。對象的實際寬度等于設置的width值和border、padding之和,即 ( Element width = width + border + padding )
此屬性表現為標準模式下的盒模型。  
    - border-box:  padding和border被包含在定義的width和height之內。對象的實際寬度就等于設置的width值,即使定義有border和padding也不會改變對象的實際寬度,即 ( Element width = width )
此屬性表現為怪異模式下的盒模型。(會縮小本身的width,為了和原來設置的width保持一致)[具體詳見css](http://css.doyoe.com/)
3. flex布局: 見筆記“felx學習筆記”
######Flex
> [學習資料:阮一峰語法篇](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html)  
> [學習資料:阮一峰實例篇](http://www.ruanyifeng.com/blog/2015/07/flex-examples.html)  

任何元素都可以指定為flex布局
display:flex/inline-flex(display:-webkit-flex;webkit前綴)
設置為flex布局之后,子元素的float、clear、vertical-align屬性失效
flex布局默認首行左對齊

flex容器,flex項目
水平的主軸(main axis)
垂直的交叉軸(cross axis)
主軸的開始位置(main start)
主軸的結束位置(main end)
交叉軸的開始位置(cross start)
交叉軸的結束位置(cross end)
單個項目占據的主軸空間(main size)
單個項目占據的交叉軸空間(cross size)

容器的屬性
flex-direction(主軸的方向):row/row-reverse/column/column-reverse
flex-wrap(是否換行):nowrap/wrap/wrap-reverse
flex-flow:(flex-direction和flex-wrap的簡寫)
justify-content(項目在主軸上的對齊方式):flex-start/flex-end/center/space-between/space-around
align-items(項目在交叉軸上的對齊方式):flex-start/flex-end/center/baseline/stretch
align-content(多根軸線的對齊方式):flex-start/flex-end/center/space-between/space-around/stretch

項目的屬性
order:整數(次序)
flex-grow:整數(放大比例)
flex-shrink:整數(縮小比例)
flex-basis:

flex屬性:
flex-grow,flex-shrink,flex-basis的簡寫

align-self屬性:
auto,flex-start,flex-end,center,baseline ```

  1. rem是什么,作用,怎么用

參考資料,騰訊ISUX

- rem是指相對于根元素的字體大小的單位。簡單的說它就是一個相對單位。  
- em(font size of the element)是指相對于父元素的字體大小的單位。  
- 在移動端的開發過程中,通常講單位設置成rem,可以保證比例,針對不同的屏幕,可以進行媒體查詢在最開始的時候設置html的font-size
  1. 熟悉的移動端框架
  2. css3動畫GPU啟動

Nodejs

  1. V8內存分代機制
  2. 創建一個綁定3000端口的http服務器,返回頁面hello world,創建一個請求端,訪問“127.0.0.1:3000”請求方式GET,打印出返回數據,相應狀態,響應頭
  3. 利用cluster模塊,簡單實現負載均衡
  4. 利用express完成簡單的路由請求代碼app.js,(地址:127.0.0.1/ 相應:返回GET或POST參數)
  5. 利用mongoose創建一個PersonSchema,字段:name(String),年齡:age(Number,min:0 max:150),身份證號:“idCard”(String必填 獲取方法getldCard)

游戲開發

  1. js動畫,window.requestAnimationFrame頁面3s紅變綠
  2. 直徑20px小球,頁面中心為原點,55px為半徑做2s一圈的無限圓周運動
  3. canvas標簽:windowToCanvas(x,y)判斷鼠標在canvas中的坐標
  4. 畫1px得直線,填充環繞規則是什么
  5. 判斷兩個小球是否碰撞
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,401評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,011評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,263評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,543評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,323評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,874評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,968評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,095評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,605評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,551評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,720評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,242評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,961評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,358評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,612評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,330評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,690評論 2 370

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,774評論 1 92
  • 學習CSS的最佳網站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,073評論 0 1
  • 1.行內元素和塊級元素?img算什么?行內元素怎么轉化為塊級元素? 行內元素:和有他元素都在一行上,高度、行高及外...
    極樂君閱讀 2,438評論 0 20
  • 消息機制(Messaging) 不知大家有沒有想過:我們在程序中調用的方法,是怎么執行的,又是怎么通過一個方法名字...
    百客閱讀 1,348評論 0 8
  • 老四聽完冒菜的話,努力做出大吃一驚的樣子,說:“哇,你們倆吃了……六斤冒菜!好可惜,居然都沒撐死。” 說完,老四默...
    根號四等于二閱讀 47,202評論 55 95