6.8
1、數(shù)組和函數(shù)
concat
將參數(shù)列表連接到原數(shù)組后面形成一個(gè)新的數(shù)組并返回,原有數(shù)組不受影響。
var arr = ["a","b","c"];
var arr1 = arr.concat("d","e");
//arr1 = ["a","b","c","d","e"]
join
以指定的字符作為分割符,將數(shù)組轉(zhuǎn)換為字符串,當(dāng)指定字符為逗號(hào)時(shí),其作用和 toString() 相同。
var str1 = arr.join(",");
//str1 = "a,b,c"
pop
通俗的講,就是彈出數(shù)組的最后一個(gè)元素。結(jié)合下面的 push 方法,使得將數(shù)組作為棧來使用成為可能。pop 方法返回?cái)?shù)組最后一個(gè)元素的值,并將 length 屬性減 1,即返回后立即丟失最后一個(gè)元素。
var item1 = arr.pop();
//item1 = "c"
push
將參數(shù)添加到數(shù)組的結(jié)尾。
arr.push("d","e");
alert(arr);
//arr = ["a","b","c","d","e"]
reverse
將數(shù)組中的元素反轉(zhuǎn)排列,這個(gè)操作是在原有數(shù)組上經(jīng)行操作,同時(shí)也返回?cái)?shù)組本身。
arr.reverse();
alert(arr);
//arr = ["c"."b","a"]
shift
移去數(shù)組的第一個(gè)元素,并返回這個(gè)元素的值。這個(gè)方法的性質(zhì)和 pop 方法很類似,pop 方法是移去最后一個(gè)元素。
var item1 = arr.shift();
//item1 = "a"
unshift
將參數(shù)列表插入到數(shù)組的開頭。其性質(zhì)和 push 方法類型,但 push 方法是將元素添加到數(shù)組的結(jié)尾。
arr.unshift("d","e");
alert(arr);
//arr = ["d","e","a","b","c"]
slice
返回?cái)?shù)組對(duì)象的一個(gè)子集,索引從開始(包括開始位置元素),到結(jié)束(不包括結(jié)束位置元素),
原有數(shù)組不受影響。當(dāng) 開始或者結(jié)束為負(fù)數(shù)時(shí),則使用他們加上數(shù)組長(zhǎng)度后的值。如果結(jié)束小于等
于開始,將返回空數(shù)組。
var item1 = arr.slice(1,2);
//item1 = "b"
var item2 = arr.slice(-2,-1);
//item2 = "b"
splice
從數(shù)組對(duì)象中移除指定長(zhǎng)度的元素,并替換為新的元素(相當(dāng)于執(zhí)行替換操作)。如果沒有指定新
的元素,則相當(dāng)于執(zhí)行刪除操作。返回被刪除元素組成的數(shù)組。
var arr1 = arr.splice(1,2,"d","e");
//arr1 = ["b","c"]
alert(arr);//["a","d","e"]
var arr2 = arr.splice(1,2);
//arr2 = ["d","e"]
alert(arr);
//arr = ["a"]
2、二維碼的插件是什么
1、首先在頁面中加入jquery庫文件和qrcode插件。
<script type="text/javascript" src="jquery.js"></script>?
<script type="text/javascript" src="jquery.qrcode.min.js"></script>?
2、在頁面中需要顯示二維碼的地方加入以下代碼:
<div id="code"></div>?
3、調(diào)用qrcode插件。
qrcode支持canvas和table兩種方式進(jìn)行圖片渲染,默認(rèn)使用canvas方式,效率最高,當(dāng)然要瀏覽器支持html5。
直接調(diào)用如下:
$('#code').qrcode("http://www.helloweba.com"); //任意字符串?
您也可以通過以下方式調(diào)用:
$("#code").qrcode({?
render: "table", //table方式?
width: 200, //寬度?
height:200, //高度?
text: "www.helloweba.com" //任意內(nèi)容?
});
3、禁止鼠標(biāo)點(diǎn)擊的使用方法
平時(shí)我們兼容什么東西總是在調(diào)整低版本IE的兼容性,但是這回不是因?yàn)榈桶姹緸g覽器不給力。而是因?yàn)?br />火狐給力過頭了,完全不顧其它瀏覽器的感受標(biāo)新立異了。除了火狐之外,所有的瀏覽器都可以使用
MouseWheel事件來處理鼠標(biāo)滾輪的響應(yīng)。但是火狐卻偏偏不支持MouseWheel,而使用無厘頭的
DOMMouseScroll,這玩意兒除了火狐以外其它瀏覽器都不兼容。也就是說,對(duì)于鼠標(biāo)滾輪事件的處理,
火狐只能使用DOMMouseScroll。而非火狐則只能使用MouseWheel。
這兩種事件實(shí)現(xiàn)的原理不同,他們處理的數(shù)據(jù)也不同。
<!DOCTYPE html>
<style>
span {font:14px/20px 微軟雅黑;}
#counter {
width:50px;height:20px;
border:1px solid #CCC;
background:#F9F9F9;
font:14px/20px Consolas;
text-align:center;
margin:10px;
}
</style>
<span>使用鼠標(biāo)滾輪調(diào)整數(shù)值大小</span><br/>
<div id="counter">0</div>
<script>
//判斷瀏覽器
var isIE=navigator.userAgent.match(/MSIE (\d)/i);
isIE=isIE?isIE[1]:undefined;
var isFF=/FireFox/i.test(navigator.userAgent);
//獲取元素
var counter=document.getElementById("counter");
//鼠標(biāo)滾輪事件
if(isIE<9) //傳統(tǒng)瀏覽器使用MouseWheel事件
counter.attachEvent("onmousewheel",function(){
//計(jì)算鼠標(biāo)滾輪滾動(dòng)的距離
//一格3行,每行40像素,所以除以120
var v=event.wheelDelta/120;
counter.innerHTML=counter.innerHTML*1+v;
//阻止瀏覽器默認(rèn)方法
return false;
});
else if(!isFF) //除火狐外的現(xiàn)代瀏覽器也使用MouseWheel事件
counter.addEventListener("mousewheel",function(e){
//計(jì)算鼠標(biāo)滾輪滾動(dòng)的距離
var v=e.wheelDelta/120;
counter.innerHTML=counter.innerHTML*1+v;
//阻止瀏覽器默認(rèn)方法
e.preventDefault();
},false);
else //奇葩的火狐使用DOMMouseScroll事件
counter.addEventListener("DOMMouseScroll",function(e){
//計(jì)算鼠標(biāo)滾輪滾動(dòng)的距離
//一格是3行,但是要注意,這里和像素不同的是它是負(fù)值
var v=-e.detail/3;
counter.innerHTML=counter.innerHTML*1+v;
//阻止瀏覽器默認(rèn)方法
e.preventDefault();
},false);
</script>
4、數(shù)組里怎樣插入和取出內(nèi)容
首先定義一個(gè)數(shù)組 var arr=[2,4,5,3,5,3,0];//這里以整形數(shù)組為例
確定數(shù)組的長(zhǎng)度arr.length;
利用循環(huán)語句遍歷數(shù)組
var arr=[2,4,5,3,5,3,0];
var arrvalue;//用于存放取出的數(shù)組的值
for(var i=0;i<arr.length;i++){
arrvalue=arr[i];//數(shù)組的索引是從0開始的
console.log(arrvalue);//把取出的值打印在控制臺(tái)上
}
5、遞歸
程序調(diào)用自身的編程技巧稱為遞歸( recursion)遞歸,就是在運(yùn)行的過程中調(diào)用自己。
遞歸算法是一種直接或者間接地調(diào)用自身的算法。在計(jì)算機(jī)編寫程序中,遞歸算法對(duì)解決一大類問題是十分有效的,它往往使算法的描述簡(jiǎn)潔而且易于理解。
遞歸算法解決問題的特點(diǎn):
(1) 遞歸就是在過程或函數(shù)里調(diào)用自身。
(2) 在使用遞歸策略時(shí),必須有一個(gè)明確的遞歸結(jié)束條件,稱為遞歸出口。
(3) 遞歸算法解題通常顯得很簡(jiǎn)潔,但遞歸算法解題的運(yùn)行效率較低。所以一般不提倡用遞歸算法設(shè)計(jì)程序。
(4) 在遞歸調(diào)用的過程當(dāng)中系統(tǒng)為每一層的返回點(diǎn)、局部量等開辟了棧來存儲(chǔ)。遞歸次數(shù)過多容易造成棧溢出等。所以一般不提倡用遞歸算法設(shè)計(jì)程序。
6、函數(shù)封裝、調(diào)用
function getUserInfo(){
$.ajax({
type: "POST",
url: "/user",
dataType: "json",
contentType: "application/json;utf-8",
timeout: 6000,
error: function () { },
success: function (data) {?
console.log(data);?
}
});
};
7、內(nèi)置函數(shù)
javascript函數(shù)一共可分為五類: ·常規(guī)函數(shù) ·數(shù)組函數(shù) ·日期函數(shù) ·數(shù)學(xué)函數(shù) ·字符串函數(shù)?
1.常規(guī)函數(shù)
javascript常規(guī)函數(shù)包括以下9個(gè)函數(shù): (1)alert函數(shù):顯示一個(gè)警告對(duì)話框,包括一個(gè)OK按鈕。 (2)confirm函數(shù):顯示一個(gè)確認(rèn)對(duì)話框,包括OK、Cancel按鈕。 (3)escape函數(shù):將字符轉(zhuǎn)換成Unicode碼。 (4)eval函數(shù):計(jì)算表達(dá)式的結(jié)果。 (5)isNaN函數(shù):測(cè)試是(true)否(false)不是一個(gè)數(shù)字。 (6)parseFloat函數(shù):將字符串轉(zhuǎn)換成符點(diǎn)數(shù)字形式。 (7)parseInt函數(shù):將符串轉(zhuǎn)換成整數(shù)數(shù)字形式(可指定幾進(jìn)制)。 (8)prompt函數(shù):顯示一個(gè)輸入對(duì)話框,提示等待用戶輸入。例如:
<script language="javascript"> <!-- alert("輸入錯(cuò)誤"); prompt("請(qǐng)輸入您的姓名","姓名");
//(標(biāo)題,預(yù)設(shè)值) confirm("確定否!"); //--> </script> (9)unescape函數(shù):解碼由
escape函數(shù)編碼的字符。 2.數(shù)組函數(shù)
javascript數(shù)組函數(shù)包括以下4個(gè)函數(shù): (1)join函數(shù):轉(zhuǎn)換并連接數(shù)組中的所有元素為一個(gè)字符串。例: function JoinDemo() { var a, b; a = new Array(0,1,2,3,4); b = a.join("-");//分隔符 return(b);//返回的b=="0-1-2-3-4" } (2)langth函數(shù):返回?cái)?shù)組的長(zhǎng)度。例: function LengthDemo() { var a, l;
執(zhí)行這個(gè)函數(shù), 希望有個(gè)回調(diào),例如: 接上上面的函數(shù)寫
getUserInfo(data,function(data){
console.log(data);
})
8、形參、實(shí)參、作用域
def test(a):
a = 20
print("這是在調(diào)用函數(shù)之時(shí)的值: %s"%a)
a = 10
print("這是在調(diào)用函數(shù)之前的值: %s"%a)
test(a)
print("這是在調(diào)用函數(shù)之后的值: %s"%a)
運(yùn)行結(jié)果:
  這是在調(diào)用函數(shù)之前的值: 10
  這是在調(diào)用函數(shù)之時(shí)的值: 20
  這是在調(diào)用函數(shù)之后的值: 10
結(jié)論:當(dāng)變量重名時(shí)函數(shù)內(nèi)部的變量會(huì)覆蓋外部變量,因此盡量避免重名現(xiàn)象,雖然它能通過語法檢查。
9、全局變量
全局變量是編程術(shù)語中的一種,源自于變量之分。
變量分為局部與全局,局部變量又可稱之為內(nèi)部變量。由某對(duì)象或某個(gè)函數(shù)所創(chuàng)建的變量通常都是局部
變量,只能被內(nèi)部引用,而無法被其它對(duì)象或函數(shù)引用。
全局變量既可以是某對(duì)象函數(shù)創(chuàng)建,也可以是在本程序任何地方創(chuàng)建。全局變量是可以被本程序所有對(duì)
象或函數(shù)引用。一個(gè)局部變量在被其它對(duì)象引用時(shí),會(huì)是一個(gè)空值。但全局變量卻不會(huì)出現(xiàn)這種情況。
10、局部變量
局部變量(Local variables)指在程序中只在特定過程或函數(shù)中可以訪問的變量。局部變量是相對(duì)于全局
變量而言的。在C++、C#、Ruby這些面向?qū)ο笳Z言中,一般只使用局部變量。面向?qū)ο缶幊淌乾F(xiàn)在普
遍采用的是軟件開發(fā)方法,因此無需考慮是局部變量還是全局變量,說到變量,往往都是局部變量。
11、原型鏈
JS在創(chuàng)建對(duì)象(不論是普通對(duì)象還是函數(shù)對(duì)象)的時(shí)候,都有一個(gè)叫做__proto__的內(nèi)置屬性,用于指向創(chuàng)建它的函數(shù)對(duì)象的原型對(duì)象prototype。以上面的例子為例:
console.log(zjh.__proto__ === person.prototype) //true
同樣,person.prototype對(duì)象也有__proto__屬性,它指向創(chuàng)建它的函數(shù)對(duì)象(Object)的prototype
console.log(person.prototype.__proto__ === Object.prototype) //true
繼續(xù),Object.prototype對(duì)象也有__proto__屬性,但它比較特殊,為null
console.log(Object.prototype.__proto__) //null
12、對(duì)象是什么
JavaScript 中的所有事物都是對(duì)象:字符串、數(shù)字、數(shù)組、日期,等等。
在 JavaScript 中,對(duì)象是擁有屬性和方法的數(shù)據(jù)。
屬性和方法
屬性是與對(duì)象相關(guān)的值。
方法是能夠在對(duì)象上執(zhí)行的動(dòng)作。
舉例:汽車就是現(xiàn)實(shí)生活中的對(duì)象。
汽車的屬性:
car.name=Fiat
car.model=500
car.weight=850kg
car.color=white?
汽車的方法:
car.start()
car.drive()
car.brake()
轉(zhuǎn)載于:https://www.cnblogs.com/czfzm/p/6970085.html
總結(jié)
 
                            
                        - 上一篇: Unity Webm格式视频报错
- 下一篇: Android 捕获异常,上报异常日志,
