js復(fù)習(xí)

1 數(shù)據(jù)類型

    基本六個(gè)類型,亮點(diǎn)  提到了ES6 的symbol

     如果問到 判斷數(shù)據(jù)類型 除了說明typeof   還要提到instanceof    

2 ===和==的區(qū)別,

    ===會(huì)判斷類型和值    ==只判斷值    比如 “6”==6是成立的   undefined==null    

    判斷值的時(shí)候  想到 []!=[]        NAN!=NAN       ES6新語法  Number.isNaN(NaN)的結(jié)果是true   

        es6中專門用來判斷變量是NAN的方法  Number.isNaN()

3 js onload和DOMcontentloaded的區(qū)別 這也是jq加載函數(shù)和JS 的onload的區(qū)別

        window.onload 事件在所有頁面元素(包括圖片,腳本等)都下載完畢后才會(huì)觸發(fā)。

        除了 IE,其它瀏覽器支持 DOMContentLoaded 事件。當(dāng) DOM 內(nèi)容下載完畢,就會(huì)立刻觸發(fā)。

        針對(duì) IE,有各種模擬 DOMContentLoaded 事件的辦法。目前被廣泛采納的方案是判斷 document 是否可以滾動(dòng)(doScroll)。一旦可以        滾   動(dòng),就意味著 DOM Content 已經(jīng)加載完畢。

4 給10個(gè)li添加點(diǎn)擊事件。彈出下標(biāo)

var oli=document.getElementsByTagName('li');
for(var i=0; i<oli.length;i++)
{
oli[i].index=i;
oli[i].onclick=function(){
alert('下標(biāo)是:'+this.index);
};
}

5 通過字符串拼接添加dom元素和通過appendchild添加dom有什么區(qū)別,那個(gè)更好

字符串拼接好

6 你都使用什么實(shí)現(xiàn)模塊加載

import
export

7. 如何對(duì)數(shù)組隨機(jī)排序

如下代碼:

var arr = [1,2,3,4,5,6]
arr.sort(function(a,b){
return Math.random()-0.5
});

8. 如何理解原型和原型鏈

[圖片上傳失敗...(image-8f7b31-1530749078749)]

下面的鏈接是原型與原型鏈詳解
http://www.cnblogs.com/ningyn0712/p/6216711.html

9. JQ 中鏈?zhǔn)讲僮鞯脑?/h4>

$("#id").css("width","100px") .css("height","100px").css("background","red");

鏈?zhǔn)秸{(diào)用原理

var MyJQ = function(){
}
MyJQ.prototype = {
css:function(){
console.log("設(shè)置css樣式");
return this;
},
show:function(){
console.log("將元素顯示");
return this;
},
hide:function(){
console.log("將元素隱藏");
}
};
var myjq = new MyJQ();
myjq.css().css().show().hide();

10. this 指向問題

this要在執(zhí)行時(shí)才能確認(rèn)值,定義時(shí)無法確認(rèn)

[圖片上傳失敗...(image-5aa3c0-1530749078749)]

11. 從輸入U(xiǎn)RL到現(xiàn)實(shí)頁面的過程

  1. 瀏覽器查找域名對(duì)應(yīng)的 IP 地址;
  2. 瀏覽器根據(jù) IP 地址與服務(wù)器建立 socket 連接;
  3. 瀏覽器與服務(wù)器通信: 瀏覽器請(qǐng)求,服務(wù)器處理請(qǐng)求;
  4. 瀏覽器與服務(wù)器斷開連接。

12. 圖片懶加載原理

一個(gè)頁面有很多的圖片,比如:京東、淘寶等,如果一上來就發(fā)送這么多請(qǐng)求,頁面加載就會(huì)很漫長,用戶多了一次來上一堆請(qǐng)求,服務(wù)器就吃不消了。
因此優(yōu)點(diǎn)就很明顯了:不僅可以減輕服務(wù)器的壓力,而且可以讓加載好的頁面,用戶體驗(yàn)更好了
頁面中的img元素,如果沒有src屬性,瀏覽器就不會(huì)發(fā)出請(qǐng)求去下載圖片,一旦通過javascript設(shè)置了圖片路徑,瀏覽器才會(huì)送請(qǐng)求。
如何獲取正真的路徑,將真正的路徑放到一個(gè)自定義的'data-url'屬性里,要用的時(shí)候就取出來,再給src
對(duì)象頂部與文檔頂部之間的距離,如果它小于父元素底部與文檔頂部的距離,則說明垂直方向上已經(jīng)進(jìn)入可視區(qū)域了,就可以將真正的src給它了!

13. 對(duì)于一個(gè)無限下拉加載圖片的頁面。如何給圖片加點(diǎn)擊事件 原生js事件委托和JQ委托的寫法

事件委托,js的addEventListener(),jq的on()

addEventListener()

document.getElementById("ul").addEventListener("click",function(e){
if(e.target.nodeName=="LI"){
alert("xxx")
}
});

也可以將判斷寫成e.target.nodeName.toLowerCase()=="li";

jq里面on()事件

$('#id').on('click','li',function(){}

14. ajax 對(duì)象建立 open send 等待數(shù)據(jù) 接受數(shù)據(jù)

AJAX的open ( )方法
open ( ) 有三個(gè)參數(shù) (method , url , boolean) ;
  1. method 對(duì)應(yīng)的取值是“GET”和“POST”
  2. url 是 文件在服務(wù)器上的位置 .
  3. boolean 的取值是“true”和“false”,boolean 取值為“true” 的時(shí)候,服務(wù)器的請(qǐng)求是異步的,beelean取值為“false”的時(shí)候,服務(wù)器的請(qǐng)求是同步的

15. 跨域是如何產(chǎn)生的,解決方式是什么

跨域是指在不同的域之間進(jìn)行數(shù)據(jù)傳輸或通信,比如用ajax向一個(gè)不同的域請(qǐng)求數(shù)據(jù),或者通過js獲取頁面中不同域的框架中的數(shù)據(jù)。只要協(xié)議、域名、端口有任何一個(gè)不同,都被當(dāng)作是不同的域。

1. 通過jsonp跨域

我們直接用XMLHttpRequest請(qǐng)求不同域上的數(shù)據(jù)時(shí),是不可以的。但是,在頁面上引入不同域上的js腳本文件卻是可以的,jsonp正是利用這個(gè)特性來實(shí)現(xiàn)的。
比如,有個(gè)a.html頁面,它里面的代碼需要利用ajax獲取一個(gè)不同域上的json數(shù)據(jù),假設(shè)這個(gè)json數(shù)據(jù)地址是http://example.com/data.php,那么a.html中的代碼就可以這樣:

[圖片上傳失敗...(image-d92393-1530749078749)]

16 描述 cookie localStorage sessionStorage的區(qū)別

        存儲(chǔ)位置區(qū)別  容量區(qū)別   是否在ajax中攜帶

17 談?wù)勀銓?duì)模塊化的理解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,797評(píng)論 1 45
  • 1 數(shù)據(jù)類型 基本六個(gè)類型,亮點(diǎn) 提到了ES6 的symbol 如果問到 判斷數(shù)據(jù)類型 除了說明...
    崽崽不哭閱讀 651評(píng)論 0 3
  • 《復(fù)習(xí)筆記》 一、ajax ajax:無刷新從服務(wù)器取數(shù)據(jù); 緩存:瀏覽器針對(duì)同一個(gè)網(wǎng)址只會(huì)訪問一次 aja...
    2e9a10d418ab閱讀 325評(píng)論 0 2
  • JS復(fù)習(xí)筆記--Array 創(chuàng)建一個(gè)數(shù)組的方式 通過索引 (訪問/添加) 數(shù)組元素 修改數(shù)組 arr.push()...
    舟_破浪閱讀 404評(píng)論 0 1
  • 1)、所有的引用類型都具有對(duì)象的特性、即可隨意擴(kuò)展屬性(null除外!) 例如:var a = {}; ...
    jofhkg閱讀 330評(píng)論 0 0

友情鏈接更多精彩內(nèi)容