一问就想不起来的问题,来看看?
生活随笔
收集整理的這篇文章主要介紹了
一问就想不起来的问题,来看看?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.js默認阻止時間冒泡的事件:
1) event.stopPropagation()阻止事件冒泡的方法,不讓時間向document上蔓延,但是默認事件仍然會執行2) event.preventDefault()阻止默認事件的方法3) return false;會同時阻止事件冒泡也會阻止默認事件復制代碼2.邏輯代碼,可以自己打印輸出看看哦,答案在評論處
var a = [1,2]; var b = a.concat([3,4,[5,6]]); 1、請問數組b的長度是幾?復制代碼var data = []; for(var i = 0;i<3;i++){ data[i] = function(){console.log(i);} } 2、請問data[0] = ?data[1] = ?data[2] = ?復制代碼var z = 10; function foo(){console.log(z); } (function(funArg){var z = 20;funArg(); })(foo) console.log(z); //3、z=?復制代碼function fact (num){ if(num<=1){ return 1}else{return num*arguments.callee(num-1)} } var anotherFact = fact; fact =null console.log(anotherFact(4));//4、(anotherFact(4)? 復制代碼3.這里遇到了一個我這個小白看不懂的地方:arguments.callee
- 首先,arguments是什么?
- arguments是函數調用時,創建的一個類似的數組但又不是數組的對象,并且它存儲的是實際傳遞給函數的參數,并不局限于函數聲明的參數列表。
4、call和Apply的區別:
- 每個函數都包含非繼承而來的方法:call()和apply()
- 定義:
apply:調用一個對象的一個方法,用另一個對象替換當前對象。
call:調用一個對象的一個方法,用另一個對象替換當前對象。
- 相同點:
- 都是在特定的作用域中調用函數,等于設置函數體內的this對象的值,以擴充函數運行的作用域。
- 區別:
- apply():最多只能有兩個參數:函數運行的this對象和參數數組。
- 如果argArray不是一個有效數組或不是arguments對象,那么將導致一個
TypeError,如果沒有提供argArray和thisObj任何一個參數,那么Global對象將用作thisObj。
- 如果argArray不是一個有效數組或不是arguments對象,那么將導致一個
- apply():最多只能有兩個參數:函數運行的this對象和參數數組。
- call():第一個參數和apply()方法的一樣,但是傳遞給函數的參數必須列舉出來。
- call方法可以用來代替另一個對象調用一個方法,call方法可以將一個函數的對象上下文從初始的上下文改變為thisObj指定的新對象,如果沒有提供thisObj參數,那么Global對象被用于thisObj。
- call方法可以用來代替另一個對象調用一個方法,call方法可以將一個函數的對象上下文從初始的上下文改變為thisObj指定的新對象,如果沒有提供thisObj參數,那么Global對象被用于thisObj。
- call():第一個參數和apply()方法的一樣,但是傳遞給函數的參數必須列舉出來。
5.瀏覽器的事件流:
6、提高web頁面性能
- 減少http請求:
- 圖片加載也會產品http請求,所以建議盡量減少使用網絡圖片,如果圖片比較多, 可以使用字體圖標
- 使用CDN地址:
- ?CDN(內容發布網絡)是一組分布在多個不同地理位置的Web服務器,用于更加有效地向用戶發布內容。在優化性能時,向特定用戶發布內容的服務器的選擇基于對網絡慕課擁堵的測量。
- CDN還可以進行數據備份、擴展存儲能力,進行緩存,同時有助于緩和Web流量峰值壓力。
- ?CDN(內容發布網絡)是一組分布在多個不同地理位置的Web服務器,用于更加有效地向用戶發布內容。在優化性能時,向特定用戶發布內容的服務器的選擇基于對網絡慕課擁堵的測量。
- 將樣式表放在頭部
- 減少頁面首屏出現的時間,使頁面內容逐步呈現,改善用戶體驗,防止“白屏”。能夠盡快顯示內容,為用戶提供可視化的回饋,這對網速慢的用戶來說是很重要的
- 減少頁面首屏出現的時間,使頁面內容逐步呈現,改善用戶體驗,防止“白屏”。能夠盡快顯示內容,為用戶提供可視化的回饋,這對網速慢的用戶來說是很重要的
- 將腳本放在底部
- 和樣式表相同,放在底部會減少首屏出現的時間。js的下載和執行會阻塞Dom樹的構建(嚴謹地說是中斷了Dom樹的更新),所以script標簽放在首屏范圍內的HTML代碼段里會截斷首屏的內容
- 避免CSS表達式
- CSS表達式是動態設置CSS屬性的一種強大并且危險的方式,它受到了IE5以及之后版本、IE8之前版本的支持。
- CSS表達式是動態設置CSS屬性的一種強大并且危險的方式,它受到了IE5以及之后版本、IE8之前版本的支持。
- 使用外部JavaScript和CSS
- 內聯腳本或者樣式可以減少HTTP請求,按理來說可以提高頁面加載的速度。然而在實際情況中,當腳本或者樣式是從外部引入的文件,瀏覽器就有可能緩存它們,從而在以后加載的時候能夠直接使用緩存,而HTML文檔的大小減小,從而提高加載速度。
- 內聯腳本或者樣式可以減少HTTP請求,按理來說可以提高頁面加載的速度。然而在實際情況中,當腳本或者樣式是從外部引入的文件,瀏覽器就有可能緩存它們,從而在以后加載的時候能夠直接使用緩存,而HTML文檔的大小減小,從而提高加載速度。
- 定義:
- https:是以安全為目標的HTTP的通道,簡單講是HTTP的安全版。HTTPS的安全是以SSL為基礎,因此加密的詳細內容就需要SSL。
- http:超文本傳輸協議,是一種詳細規定了瀏覽器和萬維網服務器之間互相通信的規則,通過因特網傳送萬維網文檔的數據傳送協議。
- 區別:
- https:https協議需要到ca申請證書,一般免費證書很少,需要交費。https 則是具有安全性的ssl加密傳輸協議。
- http:http是超文本傳輸協議,信息是明文傳輸。
總結
以上是生活随笔為你收集整理的一问就想不起来的问题,来看看?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FileReader对象和FormDat
- 下一篇: 2018 ACM 国际大学生程序设计竞赛