一些JS相關(guān)的題目

變量作用域

var bb = 1;
function aa(bb) {  
 bb = 2;  
 alert(bb);
};
aa(bb);
alert(bb);

函數(shù)體內(nèi)瞳别,bb并沒有使用var來定義征候,按理說這個bb在預(yù)處理的時候應(yīng)該是window的屬性。但在這里祟敛,函數(shù)聲明的時候疤坝,帶了一個參數(shù)bb,也就是相當(dāng)于在函數(shù)體內(nèi)聲明了var bb馆铁。所以跑揉,函數(shù)里的bb就是函數(shù)活動對象的屬性。所以函數(shù)執(zhí)行時會輸出2埠巨。函數(shù)執(zhí)行完后历谍,函數(shù)的活動對象被銷毀,也就是局部的這個bb被刪除了辣垒,執(zhí)行流進入到window望侈,再輸出bb,值就是1了勋桶。如果聲明函數(shù)時脱衙,把參數(shù)那里的bb去掉,這段代碼執(zhí)行起來例驹,結(jié)果就是彈出 2 2.

1. var a=b=3

var a=b=3 時a是局部變量捐韩,而b是全局變量;
相當(dāng)于var a = 3鹃锈;b = 3荤胁;b是全局的!

var a,b;
(function(){
    alert(a);
    alert(b);
    var a=b=3;
    alert(a);
    alert(b);
})();
alert(a);
alert(b);

運行結(jié)果為:
undefined仅政,undefined,3,3运褪,undefined雅倒,3

2. this

var myObject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log(this.foo);  
        console.log(self.foo);  
        (function() {
            console.log(this.foo);  //此時的this指向window  
            console.log(self.foo);  
        }());
    }
};
myObject.func();

運行結(jié)果:
bar
bar
undefined   
bar

3. jQuery

  • jQuery width() 和 height() 方法
    width() 方法設(shè)置或返回元素的寬度(不包括內(nèi)邊距、邊框或外邊距)凿将。
    height() 方法設(shè)置或返回元素的高度(不包括內(nèi)邊距牧抵、邊框或外邊距)。

  • jQuery innerWidth() 和 innerHeight() 方法
    innerWidth() 方法返回元素的寬度(包括內(nèi)邊距)。
    innerHeight() 方法返回元素的高度(包括內(nèi)邊距)省店。

  • jQuery outerWidth() 和 outerHeight() 方法
    outerWidth() 方法返回元素的寬度(包括內(nèi)邊距和邊框)旭旭。
    outerHeight() 方法返回元素的高度(包括內(nèi)邊距和邊框)。

4. ARP是地址解析協(xié)議

ARP是地址解析協(xié)議废麻,工作在網(wǎng)絡(luò)層掂碱,簡單語言解釋一下工作原理沧卢。
1:首先,每個主機都會在自己的ARP緩沖區(qū)中建立一個ARP列表,以表示IP地址和MAC地址之間的對應(yīng)關(guān)系。
2:當(dāng)源主機要發(fā)送數(shù)據(jù)時,首先檢查ARP列表中是否有對應(yīng)IP地址的目的主機的MAC地址,如果有膝蜈,則直接發(fā)送數(shù)據(jù),如果沒有券坞,就向本網(wǎng)段的所有主機發(fā)送ARP數(shù)據(jù)包,該數(shù)據(jù)包包括的內(nèi)容有:源主機 IP地址,源主機MAC地址筝尾,目的主機的IP 地址。
3:當(dāng)本網(wǎng)絡(luò)的所有主機收到該ARP數(shù)據(jù)包時雇盖,首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址忿等,如果不是栖忠,則忽略該數(shù)據(jù)包崔挖,如果是贸街,則首先從數(shù)據(jù)包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經(jīng)存在狸相,則覆蓋薛匪,然后將自己的MAC地址寫入ARP響應(yīng)包中,告訴源主機自己是它想要找的MAC地址脓鹃。
4:源主機收到ARP響應(yīng)包后逸尖。將目的主機的IP和MAC地址寫入ARP列表,并利用此信息發(fā)送數(shù)據(jù)瘸右。如果源主機一直沒有收到ARP響應(yīng)數(shù)據(jù)包娇跟,表示ARP查詢失敗。
廣播發(fā)送ARP請求太颤,單播發(fā)送ARP響應(yīng)苞俘。

  • TCP和UDP是傳輸層,ARP是網(wǎng)絡(luò)層龄章。FTP應(yīng)用層吃谣。

  • OSI模式把 網(wǎng)絡(luò)工作 分為七層,彼此不直接打交道做裙,只通過接口(layer interface). IP地址 在第三層, MAC地址 在第二層岗憋。協(xié)議在發(fā)送數(shù)據(jù)包時奕剃,得先封裝第三層(IP地址)畔柔,第二層(MAC地址)的報頭, 但協(xié)議只知道目的節(jié)點的IP地址,不知道其MAC地址赏淌,又不能跨第二拧廊、三層杂穷,所以得用ARP的服務(wù)

IP地址分類

  • 1. A類IP地址 一個A類IP地址由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機地址組成 ,網(wǎng)絡(luò)地址的最高位必須是“0”卦绣, 地址范圍從1.0.0.0 到126.0.0.0耐量。
  • 2. B類IP地址 一個B類IP地址由2個字節(jié)的網(wǎng)絡(luò)地址和2個字節(jié)的主機地址組成 ,網(wǎng)絡(luò)地址的最高位必須是“10”滤港,地址范圍從 128 .0.0.0到191.255.255.255廊蜒。
  • 3. C類IP地址 一個C類IP地址由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)的主機地址組成 ,網(wǎng)絡(luò)地址的最高位必須是“110”溅漾。范圍從 192 .0.0.0到223.255.255.255山叮。

6. jquery ajax中都支持哪些返回類型?

數(shù)據(jù)類型
$.ajax()函數(shù)依賴服務(wù)器提供的信息來處理返回的數(shù)據(jù)添履。如果服務(wù)器報告說返回的數(shù)據(jù)是XML屁倔,那么返回的結(jié)果就可以用普通的XML方法或者jQuery的選擇器來遍歷。如果見得到其他類型暮胧,比如HTML锐借,則數(shù)據(jù)就以文本形式來對待问麸。
通過dataType選項還可以指定其他不同數(shù)據(jù)處理方式。除了單純的XML钞翔,還可以指定 html严卖、json、jsonp布轿、script或者text哮笆。

7. javascript數(shù)據(jù)類型

js七種數(shù)據(jù)類型:String Boolean Number null undefined Object Array
五種基本類型:String Boolean Number null undefined
六種返回格式:'string' 'number' 'object' 'function' 'boolean' 'undefined'

  • JavaScript內(nèi)部,所有數(shù)字都是以64位浮點數(shù)形式儲存汰扭,即使整數(shù)也是如此稠肘。
  • javascript中字符串連接時用Array.join()替換 string += "xx",換來幾十倍的速度提升萝毛。
console.log(1+ "2"+"2");
console.log(1+ +"2"+"2"); // 1 + 2 + "2"
console.log("A"- "B"+"2");
console.log("A"- "B"+2); //字符串相減就是得出NaN启具,console.log("B"- "A"+2);也一樣是NaN
輸出:
122
32
NaN2
NaN

8. 嵌入在HTML文檔中的圖像格式可以是?

bese64編碼文件
常用的頁面的圖片格式有三種珊泳,GIF鲁冯、JPG、PNG色查。我們把圖像文件的內(nèi)容直接寫在了HTML 文件中薯演,這樣做的好處是,節(jié)省了一個HTTP 請求秧了。壞處呢跨扮,就是瀏覽器不會緩存這種圖像。

9.

indexdDB 是 HTML5 的本地存儲验毡,把一些數(shù)據(jù)存儲到瀏覽器(客戶端)中衡创,當(dāng)與網(wǎng)絡(luò)斷開時,可以從瀏覽器中讀取數(shù)據(jù)晶通,用來做一些離線應(yīng)用璃氢。
Cookie 通過在客戶端 ( 瀏覽器 ) 記錄信息確定用戶身份,最大為 4 kb 狮辽。
url 參數(shù)用的是 get 方法一也,從服務(wù)器上獲取數(shù)據(jù),大小不能大于 2 kb 喉脖。
Session 是服務(wù)器端使用的一種記錄客戶端狀態(tài)的機制 椰苟。
post 是向服務(wù)器傳送數(shù)據(jù),數(shù)據(jù)量較大树叽。
local Storage 也是 HTML5 的本地存儲舆蝴,將數(shù)據(jù)保存在客戶端中(一般是永久的)。

10. 解釋性語言 & 變異性語言

解釋性語言和編譯性語言的定義:
計算機不能直接理解高級語言,只能直接理解機器語言洁仗,所以必須要把高級語言翻譯成機器語言层皱,計算機才能執(zhí)行高級語言編寫的程序。翻譯的方式有兩種京痢,一個是編譯,一個是解釋篷店。兩種方式只是翻譯的時間不同祭椰。

  • 解釋性語言的定義:解釋性語言的程序不需要編譯,在運行程序的時候才翻譯疲陕,每個語句都是執(zhí)行的時候才翻譯方淤。這樣解釋性語言每執(zhí)行一次就需要逐行翻譯一次,效率比較低√阊辏現(xiàn)代解釋性語言通常把源程序編譯成中間代碼携茂,然后用解釋器把中間代碼一條條翻譯成目標(biāo)機器代碼,一條條執(zhí)行诅岩。 非獨立讳苦。
  • 編譯性語言的定義:編譯性語言寫的程序在被執(zhí)行之前,需要一個專門的編譯過程吩谦,把程序編譯成為機器語言的文件鸳谜,比如exe文件,以后要運行的話就不用重新翻譯了式廷,直接使用編譯的結(jié)果就行了(exe文件)咐扭,因為翻譯只做了一次,運行時不需要翻譯滑废,所以編譯型語言的程序執(zhí)行效率高蝗肪。
  • 非獨立應(yīng)該是針對需要解析器來說的。

11. 區(qū)分對象與表達式

window.setTimeout(checkState, 10000);
window.setTimeout(checkState(), 10000);

heckState加了圓括弧相當(dāng)于函數(shù)表達式蠕趁,會立即執(zhí)行薛闪,執(zhí)行的結(jié)果作為返回值傳遞給settimeout。
checkState不是一個函數(shù) 是對象 所以沒有()

12.

請問 a 的結(jié)果是什么俺陋?

if(! "a" in window){
    var a = 1;
}
alert(a); //undefined

知識點有兩個:

  1. 變量聲明提前
  2. 逛绵!的優(yōu)先級高于in, 所以條件語句根本沒執(zhí)行。

function和var會提前聲明倔韭,而其實{…}內(nèi)的變量也會提前聲明(沒有快寄作用域)术浪。于是代碼還沒執(zhí)行前,a變量已經(jīng)被聲明寿酌,于是 ‘a(chǎn)’ in window 返回true胰苏,a被賦值。

13. GET & POST

指針

#include<stdio.h>
void main()
{
    short *p,*q;
    short arr[15]={0};
    p=q=arr;
    p++;
    printf("%d,",p-q);
    printf("%d,",(char*)p-(char*)q);
    printf("%d",sizeof(arr)/sizeof(*arr));
}

指針自增醇疼、自減每次移動的偏移量是指針?biāo)赶驅(qū)ο蟮淖止?jié)大小硕并,所以p++與q的偏移量是2個字節(jié)法焰。
指針相減的值是指針地址的偏移除以指針每次移位的大小倔毙;
1)p-q=1;偏移量為2個字節(jié)埃仪,每次移動2個字節(jié),所以為1
2)(char )p-(char )q陕赃,指針的偏移沒變卵蛉,但是每次指針移位是按照(char)類型移動,即每次移動1個字節(jié)么库,所以是2
3)數(shù)字每次元素2個字節(jié)傻丝,所以sizeof(arr)為30,sizeof(
arr)為2诉儒。

int main(){
  int a;float b,c;
  scanf("%2d%3f%4f",&a,&b,&c);
  printf("\\na=%d,b=%d,c=%f\\n",a,b,c);
}

若運行時從鍵盤上輸入9876543210l,則上面程序的輸出結(jié)果是a=98,b=0,c=0.000000
%2d是將數(shù)字按寬度為2葡缰,采用右對齊方式輸出,若數(shù)據(jù)位數(shù)不到2位忱反,則左邊補空格
輸入的數(shù)據(jù)沒有以空格或者別的空白符分割泛释,故都屬于第一個數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市温算,隨后出現(xiàn)的幾起案子胁澳,更是在濱河造成了極大的恐慌,老刑警劉巖米者,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件韭畸,死亡現(xiàn)場離奇詭異,居然都是意外死亡蔓搞,警方通過查閱死者的電腦和手機胰丁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喂分,“玉大人锦庸,你說我怎么就攤上這事∑哑恚” “怎么了甘萧?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梆掸。 經(jīng)常有香客問我扬卷,道長,這世上最難降的妖魔是什么酸钦? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任怪得,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘徒恋。我一直安慰自己蚕断,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布入挣。 她就那樣靜靜地躺著亿乳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪径筏。 梳的紋絲不亂的頭發(fā)上葛假,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音匠璧,去河邊找鬼桐款。 笑死咸这,一個胖子當(dāng)著我的面吹牛夷恍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播媳维,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼酿雪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了侄刽?” 一聲冷哼從身側(cè)響起指黎,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎州丹,沒想到半個月后醋安,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡墓毒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年吓揪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片所计。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡柠辞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出主胧,到底是詐尸還是另有隱情叭首,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布踪栋,位于F島的核電站焙格,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏夷都。R本人自食惡果不足惜间螟,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厢破,春花似錦荣瑟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至见坑,卻和暖如春嚷掠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荞驴。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工不皆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人熊楼。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓霹娄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲫骗。 傳聞我的和親對象是個殘疾皇子犬耻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容