新建一個(gè)記事本文件,寫入js代碼,保存時(shí)將后綴改為.js。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比憑祥網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式憑祥網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋憑祥地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
使用開發(fā)專用的文本編輯器,新建文件,選擇文件類型為javascript,寫入內(nèi)容,并保存。
JS中創(chuàng)建函數(shù)的幾種方法
聲明函數(shù):最普通最標(biāo)準(zhǔn)的聲明函數(shù)方法,包括函數(shù)名及函數(shù)體。
function fn1(){}
創(chuàng)建匿名函數(shù)表達(dá)式:創(chuàng)建一個(gè)變量,這個(gè)變量的內(nèi)容為一個(gè)函數(shù)
var fn1 = funciton (){}
創(chuàng)建具名函數(shù)表達(dá)式:具名函數(shù)表達(dá)式的函數(shù)名只能在創(chuàng)建函數(shù)內(nèi)部使用,即采用此種方法創(chuàng)建的函數(shù)在函數(shù)外層只能使用fn1不能使用func_name的函數(shù)名。func_name的命名只能在創(chuàng)建的函數(shù)的內(nèi)部使用
var fn1 = funciton func_name(){}
自執(zhí)行函數(shù):自執(zhí)行函數(shù)屬于上述的“函數(shù)表達(dá)式”,規(guī)則相同
(function(){alert(1);})();
(function fn1(){alert(1);})();
Function構(gòu)造函數(shù)
可以給 Function 構(gòu)造函數(shù)傳一個(gè)函數(shù)字符串,返回包含這個(gè)字符串命令的函數(shù),此種方法創(chuàng)建的是匿名函數(shù)。
其他創(chuàng)建函數(shù)的方法
當(dāng)然還有其他創(chuàng)建函數(shù)或執(zhí)行函數(shù)的方法,這里不再多說,比如采用 eval , setTimeout , setInterval 等非常用方法,這里不做過多介紹,屬于非標(biāo)準(zhǔn)方法,這里不做過多展開
1、字面量的方式創(chuàng)建數(shù)組 :
? ? ?let arr = ['張三','李四','王五'];
? ? let num = [11,22,33,44];
? ? console.log(arr);?
? ? ?數(shù)組的下標(biāo)從0開始?
2、構(gòu)造函數(shù)的方式創(chuàng)建數(shù)組?
? ? new Array(size);
? ? 表示數(shù)組中可存放的元素總數(shù)
? ? 規(guī)定了總數(shù) 但是添加一個(gè)數(shù) 總數(shù)也會(huì)增
? ? new Array()實(shí)例化一個(gè)數(shù)組對(duì)象?
? ? ?let arr = new Array(3)
? ? ?arr = [1,2,3,4]?
? ? 聲明時(shí)賦值 :
? ? ?let arr = new Array(1,2,3,4,5,6)?
? ? 分別賦值 :
? ? ?let arr = new Array(3);
? ? arr[0] = 'zhangsan';
? ? arr[1] = 'lisi';
? ? arr[2] = 'wangwu' ;
3、通過數(shù)組的名稱和下標(biāo)直接訪問數(shù)組的元素?
? ? ?console.log(arr[1]);?
? ? for(var i in arr){
? ? ? ? console.log(arr[i]); }?
4、屬性 ? length ?設(shè)置或返回?cái)?shù)組中元素的數(shù)目?
? ? let arr = [1,2,3,4,5]
? ? ?console.log(arr.length);?
5、 join( ) ?把數(shù)組的所有元素放入一個(gè)字符串,通過一個(gè)分隔符進(jìn)行分隔?
? ? 把數(shù)組轉(zhuǎn)成字符串?
? ? let newstr = arr.join();?
? ? ?join()里面沒有傳任何參數(shù) 默認(rèn)以逗號(hào)連接?
? ? ?join('') 數(shù)字中間沒有任何字符拼接
? ? let newstr = arr.join('+');
? ? ?console.log( typeof(newstr) );?
? ?console.log(newstr);
6、 sort() ? 對(duì)數(shù)組排序?
? ? ?隱式數(shù)據(jù)類型轉(zhuǎn)換 會(huì)字符串類型的轉(zhuǎn)成數(shù)字類型進(jìn)行排序?
? ? let arr = ['2', '3', '1', '5', '0'];
? ? let newarr = arr.sort();?
? ? ?sort方法 會(huì)把老數(shù)組和新產(chǎn)生的數(shù)組都進(jìn)行排序?
? ? console.log(arr, newarr);?
? ?sort()對(duì)應(yīng)多位數(shù)排序會(huì)出現(xiàn)問題
? ? let arr = [2,22,3,32,1,12,100];
? ?sort 給我們提供的解決方法?
? ? ?arr.sort(function(a,b){
? ? ?從小到大的順序?
? ? ? return a-b;?
? ? 從大到小的順序?
? ? ? return b-a; })
? ? ?console.log(arr);
7、 push() ? 向數(shù)組末尾添加一個(gè)或更多元素,并返回新的長度?
? ? ?在外面定義的叫全局變量?
? ? let stu = ['小張','小王','小李'];
? console.log(stu);?
方法里面的叫局部區(qū)域?
? ? function fn(){
因?yàn)閟tu 是全局的 所以在方法里面 可以獲取到
數(shù)組可以添加重復(fù)的數(shù)據(jù)?
push也可以添加多個(gè)數(shù)據(jù)?
? ? ? ?let a = stu.push('麗麗','倩倩','雯雯')
? ? ? ? console.log(a);
? ? ? console.log(stu);}
? ? ?定義一個(gè)空數(shù)組 點(diǎn)擊添加按鈕 可以在空數(shù)組里面添加
? ? 姓名 點(diǎn)擊一個(gè)添加 可以把數(shù)組使用 dw 顯示在頁面上?
? ? ?let arr = []
? ? ?function fn(){
? ? ? ? ?arr.push('xiaoa')
? ? document.write有個(gè)缺陷,用按鈕點(diǎn)擊的時(shí)候
? ? ? ? 會(huì)把整個(gè)頁面進(jìn)行重新繪制,導(dǎo)致頁面原來的內(nèi)容丟失??
? ? ? ?document.write(arr)} }
8、 concat() 合并兩個(gè)數(shù)組?
? ? 對(duì)原來的兩個(gè)數(shù)組 沒有任何改變,會(huì)生成一個(gè)拼接好的新數(shù)組?
? ? ?let arr1 = [1,2,3];
? ? ?let arr2 = [4,5,6];
? ? ?let arr3 = [7,8,9]
?拼接多個(gè)數(shù)組?
? ?let newarr = arr1.concat(arr2).concat(arr3);
? console.log('arr1',arr1);
? ? ?console.log('arr2',arr2);?
? console.log('newarr',newarr);
? ? es6合并數(shù)組 要是用擴(kuò)展運(yùn)算符 ...?
? ? ?等同于 [1,2,3] 把a(bǔ)rr1的括號(hào)去掉,
? ? 把里面的內(nèi)容拿出來了?
? ? let newarr = [...arr1];?
? ? ?let newarr = [...arr1,...arr2,...arr3];
? ? ?console.log(newarr);
? ? eg1:定義 ?三個(gè)數(shù)組 ?分別是 三組學(xué)生的信息 第一組 姓名 年紀(jì) ?性別?
? ? 把三個(gè)數(shù)組 拼接起來 使用兩種方式?
? ? 數(shù)組中的splice方法 可以對(duì)數(shù)組進(jìn)行增刪改?
? ? splice()里面有三個(gè)參數(shù),
? ? 第一個(gè)參數(shù)表示 你要操作的數(shù)組元素的索引
? ? 第二個(gè)參數(shù)表示 你要從你選擇的索引開始要?jiǎng)h除的個(gè)數(shù)
? ? 第三個(gè)參數(shù)表示 你要添加的數(shù)組元素
? ? let arr = ['張三','李四','王五'];?
? ? ?刪除李四?
? ? arr.splice(1,1)?
? ? 把王五修改成麗麗?
? ? ?arr.splice(2,1,'麗麗')?
? ? 添加 你想在哪里添加就在哪里添加?
? ? 把倩倩放在數(shù)組索引為2的位置 因?yàn)榈诙€(gè)參數(shù)是0 所以王五不會(huì)被刪除?
? ? ?arr.splice(2,0,'倩倩')?
? ? 使用splice在數(shù)組的末尾添加?
? ? arr.splice(3,0,'倩倩')?
? ? 在任意數(shù)組末尾的位置進(jìn)行添加?
? ? arr.splice(arr.length,0,'倩倩')
? ? console.log(arr);?
? ? ?eg2:寫一個(gè)數(shù)組 里面有姓名 年紀(jì) 性別 展示在頁面上
? ? ?再寫三個(gè)按鈕 點(diǎn)擊 可以實(shí)現(xiàn)
? ? 數(shù)組的末尾添加一個(gè)信息 刪除年紀(jì) ?修改性別 ?點(diǎn)擊完成之后
? ? 數(shù)組的最終結(jié)果使用alert打印出來?
? ? ?let arr = ['張三',20,'男'];
? ? document.write(arr);
? ? ?function fn(str){
? ? ? ? if(str=='add'){
? ? ? ? ? ? ?arr.splice(arr.length,0,'奔馳')
? ? ? ? ? ? alert(arr)? ? }
? ? ? ? if(str=='del'){
? ? ? ? ? ? ?arr.splice(1,1)
? ? ? ? ? alert(arr)? ?}
? ? ? ?if(str=='update'){
? ? ? ? ? ?arr.splice(1,1,'女')
? ? ? ? ? alert(arr) } }
? ? ?let arr = ['張三','李四','王五']?
? ? ?push在數(shù)組的末尾添加一個(gè)元素?
? ? ?pop 刪除數(shù)組的最后一個(gè)元素
? ? ?arr.pop();
? ? console.log(arr);?
? ? shift 刪除數(shù)組的最前面的一個(gè)元素?
? ? arr.shift();
? ? console.log(arr);?
? ? unshift 在數(shù)組的最前面添加一個(gè)數(shù)組?
? ? arr.unshift('麗麗')
? ? console.log(arr);
[img]