知識點(三)

1、css垂直居中css

 


2、js經常使用數據類型html

字符串值,數值,布爾值,數組,對象。web

 


3、async和awaitcanvas

              在async/await以前,咱們有三種方式寫異步代碼 1嵌套回調 2以Promise爲主的鏈式回調3使用Generators數組

 

    1. async/await更加語義化,async 是「異步」的簡寫,async function 用於申明一個 function 是異步的;await,能夠認爲是async wait的簡寫, 用於等待一個異步方法執行完成;app

    2. async/await是一個用同步思惟解決異步問題的方案(等結果出來以後,代碼纔會繼續往下執行)異步

    3. 能夠經過多層 async function 的同步寫法代替傳統的callback嵌套async

      async function語法

      • 自動將常規函數轉換成Promise,返回值也是一個Promise對象ide

      • 只有async函數內部的異步操做執行完,纔會執行then方法指定的回調函數函數

      • 異步函數內部可使用await

     await語法

  • await 放置在Promise調用以前,await 強制後面點代碼等待,直到Promise對象resolve,獲得resolve的值做爲await表達式的運算結果

  • await只能在async函數內部使用,用在普通函數裏就會報錯

 


4、null 和undefine的區別

null: Null類型,表明「空值」,表明一個空對象指針,使用typeof運算獲得 「object」,因此你能夠認爲它是一個特殊的對象值。

undefined: Undefined類型,當一個聲明瞭一個變量未初始化時,獲得的就是undefined。

 null 和 undefined 都表示「值的空缺」,

undefined是表示系統級的、出乎意料的或相似錯誤的值的空缺,

而null是表示程序級的、正常的或在乎料之中的值的空缺。

 5、CSS3作動畫

@keyframes   animation transition transform

  • translate()
  • rotate()
  • scale()
  • skew()
  • matrix()
@-webkit-keyframes myfirst /* Safari 與 Chrome */ { from {background: red;} to {background: yellow;} }
媒體查詢
@media screen and (min-width: 480px) {
    body {
         margin: 0px; padding: 0px; color: rgb(170, 17, 17); font-family: Menlo, Monaco, Consolas, "Andale Mono", "lucida console", "Courier New", monospace; font-size: 13.199999809265137px;"> lightgreen;
    }
}
6、canvas
一、var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
二、畫矩形
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);//在畫布上繪製 150x75 的矩形,從左上角開始 (0,0)。
三、畫線
ctx.moveTo(0,0); ctx.lineTo(200,100); ctx.stroke();
四、畫圓
ctx.beginPath(); ctx.arc(95,50,40,0,2*Math.PI); ctx.stroke();
五、文本
ctx.font="30px Arial"; ctx.fillText("Hello World",10,50);
 
六、漸變
// 建立漸變
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red"); grd.addColorStop(1,"white");
// 填充漸變 ctx.fillStyle=grd; ctx.fillRect(10,10,150,80);
七、圖片放到畫布上
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);
7、指針綁定
call和apply的區別在於call的第二個參數能夠是任意類型,而apply的第二個參數必須是數組或者arguments
call、apply、bind 都是用來修改函數中的this,傳參時,call是一個個傳參apply是數組形式傳參,call和apply當即執行而且返回值是你調用的方法的返回值,若該方法沒有返回值,則返回undefined。bind是改變this後返回一個新的函數,他不會當即執行。
call、apply、bind 是Function.prototype下__proto__的方法,做用是執行一下目標函數,執行時順便把目標函數中的this改一下,而後把結果輸出,執行後,不會影響原函數!

 

 

 

相關文章
相關標籤/搜索