1.解釋jsonp的原理厌漂,以及為什么不是真正的ajax
Jsonp并不是一種數(shù)據(jù)格式萨醒,而json是一種數(shù)據(jù)格式,jsonp是用來解決跨域獲取數(shù)據(jù)的一種解決方案苇倡,具體是通過動(dòng)態(tài)創(chuàng)建script標(biāo)簽富纸,然后通過標(biāo)簽的src屬性獲取js文件中的js腳本,該腳本的內(nèi)容是一個(gè)函數(shù)調(diào)用旨椒,參數(shù)就是服務(wù)器返回的數(shù)據(jù)晓褪,為了處理這些返回的數(shù)據(jù),需要事先在頁面定義好回調(diào)函數(shù)综慎,本質(zhì)上使用的并不是ajax技術(shù)
2.字符串反轉(zhuǎn)涣仿,如將 '12345678' 變成 '87654321'
//思路:先將字符串轉(zhuǎn)換為數(shù)組 split(),利用數(shù)組的反序函數(shù) reverse()顛倒數(shù)組示惊,再利用 jion() 轉(zhuǎn)換為字符串
var str = '12345678';
str = str.split('').reverse().join('');
3.將數(shù)字 12345678 轉(zhuǎn)化成 RMB形式 如: 12,345,678
//思路:先將數(shù)字轉(zhuǎn)為字符好港, str= str + '' ;
//利用反轉(zhuǎn)函數(shù),每三位字符加一個(gè) ','最后一位不加米罚; re()是自定義的反轉(zhuǎn)函數(shù)钧汹,最后再反轉(zhuǎn)回去!
for(var i = 1; i <= re(str).length; i++){
tmp += re(str)[i - 1];
if(i % 3 == 0 && i != re(str).length){
tmp += ',';
}
}
4.生成5個(gè)不同的隨機(jī)數(shù)录择;
//思路:5個(gè)不同的數(shù)拔莱,每生成一次就和前面的所有數(shù)字相比較,如果有相同的隘竭,則放棄當(dāng)前生成的數(shù)字塘秦!
var num1 = [];
for(var i = 0; i < 5; i++){
num1[i] = Math.floor(Math.random()*10) + 1; //范圍是 [1, 10]
for(var j = 0; j < i; j++){
if(num1[i] == num1[j]){
i--;
}
}
}
5.階乘函數(shù);98765…*1
//原型方法
Number.prototype.N = function(){
var re = 1;
for(var i = 1; i <= this; i++){
re *= i;
}
return re;
}
var num = 5;
alert(num.N());
6.window.location.search返回的是什么货裹?
查詢(參數(shù))部分嗤形。除了給動(dòng)態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應(yīng)的參數(shù)值
返回值:?ver=1.0&id=timlq 也就是問號(hào)后面的
number=1&year=2016
//url:http://www.sina.com/getage?number=1&year=2016
7.window.location.hash 返回的是什么弧圆?
答:錨點(diǎn) 赋兵, 返回值:#love ;
//url:http://www.sina.com/getage?#age
age //這時(shí)就返回”#age
8.window.location.reload() 作用搔预?
刷新當(dāng)前頁面
9.什么是閉包霹期?寫一個(gè)簡(jiǎn)單的閉包
閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上拯田,閉包就是將函數(shù)內(nèi)部和函數(shù)外部連接起來的一座橋梁历造。
function outer(){
var num = 1;
function inner(){
var n = 2;
alert(n + num);
}
return inner;
}
outer()();
10.javascript 中的垃圾回收機(jī)制?
JS執(zhí)行環(huán)境負(fù)責(zé)管理代碼。
(1)在Javascript中吭产,如果一個(gè)對(duì)象不再被引用侣监,那么這個(gè)對(duì)象就會(huì)被GC回收。
(2)如果兩個(gè)對(duì)象互相引用臣淤,而不再 被第3者所引用橄霉,那么這兩個(gè)互相引用的對(duì)象也會(huì)被回收。因?yàn)楹瘮?shù)a被b引用邑蒋,b又被a外的c引用姓蜂,這就是為什么 函數(shù)a執(zhí)行后不會(huì)被回收的原因。