国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javascript基礎學習總結(一)

AdolphLWQ / 465人閱讀

摘要:原型規則所有的函數,都有一個屬性顯示原型,屬性值也是一個普通對象原型規則所有的引用類型數組對象函數,屬性值指向它的構造函數的屬性值。注釋其實是的語法糖,的構造函數是,所有。要在執行是才能確認值,定義是無法確認的幾種使用場景作為構造函數執行。

1.js中使用typeof能得到哪些類型?

number string boolean object function undefined 
如果變量是null,則typeof會返回 object。typeof undefined 返回 undefined。 

2.window.onload和DOMContentLoaded的區別

一般情況下,DOMContentLoaded事件要在window.onload之前執行,當DOM樹構建完成的時候就會執行DOMContentLoaded事件,而window.onload是在頁面載入完成的時候,才執行,這其中包括圖片等元素。大多數時候我們只是想在DOM樹構建完成后,綁定事件到元素,我們并不需要圖片元素,加上有時候加載外域圖片的速度非常緩慢。
if(obj.a == null){
//這里相當于 obj.a === null || obj.a === undefined ,簡寫形式
}

3.原型規則=>所有的引用類型都有構造函數

var a={} 其實是 var a = new Object()的語法糖
var b=[] 其實是 var b = new Array()的語法糖
function Foo(){...} 其實是 var Foo = new Function(...)

4.原型規則=>所有的引用類型(數組、對象、函數),都具有對象特性,即可自由擴展(除了“null” 之外)。

var a = [1,2,3,4];
a.name = ‘你好’;
function foo(){};
foo.age = 21;

5.原型規則=>所有的引用類型(數組、對象、函數),都有一個__proto__屬性(隱式原型),屬性值是一個普通的對象。

6.原型規則=>所有的函數,都有一個prototype屬性(顯示原型),屬性值也是一個普通對象

7.原型規則=>所有的引用類型(數組、對象、函數),__proto__屬性值指向它的構造函數的“prototype”屬性值。

var obj = {};
obj.a=100;
obj.__proto__ === Object.prototype
注釋:var obj ={} 其實是 var obj = new Objec()的語法糖,obj的構造函數是Object,所有    obj.__proto__ === Object.prototype。

8.原型鏈

當試圖得到一個對象的某個屬性時,如果這個對象本身沒有這個屬性,那么就會去它的__proto__ (即它的構造函數的prototype) 中尋找。
function Foo(name){
this.name = name;
}
Foo.prototype.sayName = function(){
console.log("my name is "+this.name);
}

var foo1 = new Foo("zhangsan");
foo1.printName = function(){
console.log("print name "+this.name);
}
foo1.printName();
foo1.sayName();
foo1.toString();
//foo1.__proto__為Foo.prototype,Foo.prototype.__proto__為Object.prototype


9.f instanceof Foo 的邏輯判斷是:

f 的 __proto__ 一層一層往上,能否對應到 Foo.prototype

備注:閱讀源碼是高效提高技能的方式
不能“埋頭苦鉆”有技巧在其中,搜jquery源碼解讀分析等等
慕課網搜索“zepto設計和源碼分析”免費教程。

10.this 要在執行是才能確認值,定義是無法確認

this的幾種使用場景:
1.作為構造函數執行。
2.作為對象屬性執行。
3.作為普通函數執行。
4.call、apply、bind。

11.作用域
在es6之前,ECMAScript的作用域只有兩種:全局作用域、函數作用域。正是因為有這兩種作用域,所以在javascript中出現--術語--“變量提升”。es6提供了塊級作用域,且“塊級作用域”并不影響var聲明的變量。var聲明的變量的性質和原來一樣,還是具有‘變量提升’的特性。而‘塊級作用域’通過新增命令let和const來體現。

12.閉包
實例1:

注釋:函數的父級作用域是它定義時的作用域,不是執行時的作用域。
實例2:

輸出為: example increment 1 2 3
注釋:當一個函數返回另一個函數時,才會真正涉及閉包。返回的函數可以訪問僅存在于其閉包中的變量

13.閉包在實際開發中的應用

//閉包實際應用主要用于封裝變量,收斂權限。
function isFirstLoad(){
    var _list =[];
    return function( id ){
    if ( _list.indexOf ( id ) >=0 ){
        return false;
    } else {
        _list.push(id);
        return true;
    }
    }
}
var firstLoad = isFirstLoad();
firstLoad ( 10 ) // true
firstLoad ( 10 ) // false
firstLoad ( 20 ) // true

14.同步、異步和單線程
前端使用異步的場景:
定時任務:setTimeout, setInterval
網絡請求:ajax請求,動態加載
事件綁定


注釋:
執行第一行,打印100
執行setTimeout后,傳入setTimeout的函數會被暫存起來,不會立即執行(單線程的特點,不能同時干兩件事)。
執行最后一行,打印300
待所有程序執行完,處于空閑狀態時,會立馬看有沒有暫存起來的要執行。
發現暫存起來的setTimeout中的函數無需等待時間,就立即拿過來執行,如果
setTimeout(function(){
console.log(200);
},1000),暫存起來的setTimeout函數有需要等待的時間,則會在等待時間后執行。

同步:
console.log(100);
alert(200);
console.log(300);
同步和異步的區別:同步會阻塞代碼的執行,而異步不會。

18.DOM屬于哪種基本的數據結構?

19.ajax -XMLHttpRequest
get請求:

post請求:

20.跨域
可以跨域加載資源的三個標簽:


JSONP實現原理:

服務器端設置 http header

21.存儲
cookie
本身用于客戶端和服務器端通信
但是它有本地存儲的功能,于是被“借用”
使用document.cookie = ...獲取和修改即可

cookie用于存儲的缺點
存儲量太小,只有4KB
所有http請求都帶著,會影響獲取資源的效率
API簡單,需要封裝才能用document.cookie = ...

cookie的內容只要包括:名字,值,過期時間,路徑和域。路徑和域一起構成cookie的作用范圍。若不設置過期時間,則cookie的生命周期為瀏覽器會話期間,關閉瀏覽器窗口,cookie就會消失。這種生命周期為瀏覽器會話期的cookie被稱為會話cookie。
會話cookie一般不存儲在硬盤上而是保存在內存里。若設置了過期時間,瀏覽器會把cookie保存在硬盤上,關閉再次打開瀏覽器,這些cookie仍然有效直到超過設定的過期時間。存儲在硬盤上的cookie可以在同類型的瀏覽器間共享,比如兩個IE窗口。

locationStorage和sessionStorage
THML5專門為存儲而設計,最大容量5M
API簡單易用:
localStorage.setItem( key, value);localStorage.getItem( key, value)
sessionStorage生命周期為當前窗口或標簽頁,一旦窗口或標簽頁被永久關閉了,那么所有通過sessionStorage存儲的數據也就被清空了。localStorage生命周期是永久。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106873.html

相關文章

  • 基礎鞏固:JavaScript基礎總結(基本概念篇)

    摘要:基礎鞏固基礎總結使用已經好幾年了,由于工作主要是做服務端開發,在工作中逐漸發現的使用范圍原來越廣泛。這里要注意,務必將基礎部分掌握牢靠,磨刀不誤砍柴功,只有將基礎部分掌握并建立起系統的知識體系,在后面學習衍生的其他模式才能游刃有余。 基礎鞏固:JavaScript基礎總結 使用JavaScript已經好幾年了,由于工作主要是做服務端開發,在工作中逐漸發現JavaScript的使用范圍原...

    YuboonaZhang 評論0 收藏0
  • JavaScript學習總結基礎部分

    摘要:前綴規范每個局部變量都需要有一個類型前綴,按照類型可以分為表示字符串。例如,表示以上未涉及到的其他對象,例如,表示全局變量,例如,是一種區分大小寫的語言。布爾值與字符串相加將布爾值強制轉換為字符串。 基本概念 javascript是一門解釋型的語言,瀏覽器充當解釋器。js執行時,在同一個作用域內是先解釋再執行。解釋的時候會編譯function和var這兩個關鍵詞定義的變量,編譯完成后從...

    AlanKeene 評論0 收藏0
  • Javascript學習總結 - JS基礎系列

    摘要:變量定義變量使用關鍵字變量名變量名可以任意取名,但要遵循命名規則變量必須使用字母下劃線或者美元符開始。語法參數說明在消息對話框中要顯示的文本返回值值。返回值點擊確定按鈕,文本框中的內容將作為函數返回值。 簡述 本系列將持續更新Javascript基礎部分的知識,誰都想掌握高端大氣的技術,但是我覺得沒有一個扎實的基礎,我認為一切高階技術對我來講都是過眼云煙,要成為一名及格的前端工程師,必...

    Meils 評論0 收藏0
  • Javascript學習總結 - JS基礎系列三

    摘要:案例每隔毫秒調用函數并顯示時間。當點擊按鈕時,停止時間代碼如下計時器每隔毫秒調用函數,并將返回值賦值給計時器計時器,在載入后延遲指定時間后去執行一次表達式僅執行一次。該值標識要取消的延遲執行代碼塊。 簡述 本系列將持續更新Javascript基礎部分的知識,誰都想掌握高端大氣的技術,但是我覺得沒有一個扎實的基礎,我認為一切高階技術對我來講都是過眼云煙,要成為一名及格的前端工程師,必須把...

    zlyBear 評論0 收藏0
  • SegmentFault 技術周刊 Vol.40 - 2018,來學習門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經到來了,總結過去的 2017,相信小伙們一定有很多收獲...

    caspar 評論0 收藏0
  • SegmentFault 技術周刊 Vol.40 - 2018,來學習門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經到來了,總結過去的 2017,相信小伙們一定有很多收獲...

    nihao 評論0 收藏0

發表評論

0條評論

AdolphLWQ

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<