1.數組的訪問與遍歷
數組對象的作用是:
使用單獨的變量名來存儲一系列的值。
數組的訪問
使用數組索引可以直接訪問
例如:arr[i]
其中i可以是數字表示數組的順序,也可以是一個數組中值得鍵名表示
數組的遍歷
for循環來遍歷for in :遍歷對象
ES5: forEach()
ES6中的箭頭函數
類數組:
借助的對象字面量的語法來創建的類數組,和數組大致相同。
1.成員的鍵名必須是0遞增的正整數
2.對象必須要有一length屬性
下面是實驗的過程
控制台的效果圖

代碼部分
<!DOCTYPE html><html><head><title>數組遍歷</title><meta charset="utf-8"></head><body><!-- 1 將課程中的所有案例全部在按制台運行一遍2 對於數組的聲明,訪問,遍歷常用的方法全部全部熟練掌握3 對於函數的聲明,調用,參數,以及常用屬性,arguments對象必須掌握4 將數組的遍歷與函數的調用與參數處理提交到博客中 --><script type="text/javascript">var apho = ['apple','apple1','apple2','apple3'];apho.name = 'daapp';apho['user name'] = 'app';//for循環遍歷for (var i = 1; i <= 1; i++) {console.log(apho[i]);}//for in: 遍歷對象for (var i in apho) {console.log(apho[i]);}// foreach遍歷數組apho.forEach(function(item, key, apho){// console.log(item);console.log(apho[key]);});//foreach箭頭函數,遍歷數組apho.forEach(item=>console.log(item));//類數組var objArr = {0: 'hello',1: 'wrold',2: {1:33.5, 2:44.5},3: 'defind',length: 4};// objArr.forEach(function (item){// console.log(item);// })for (var i = 0; i < 3; i++) {var p = document.createElement('p');p.innerHTML='hello wrold';document.body.appendChild(p);console.log(p);}var eles = document.getElementsByTagName('p');console.log(eles);for (var i = 0; i < eles.length; i++) {console.log(eles[i].innerHTML);}</script></body></html>
2.函數的聲明,調用
函數的聲明
function show1(value) { console.log(value); }
函數的調用
show1('what you name ');構造函數:構建JS語句大廈的基礎
構造函數是用來創建對象的
構造函數可以由任何函數構成,但並不是都會創建出對象,除非用newfunction show() {...}
函數的重復申明
js中的函數允許重復聲明,以最后一個為准
es5中變量允許重復聲明
return返回
一旦遇到return 返回給調用者后面的語句全部忽略
函數也是對象, 對象就會有屬性/方法
函數有name, length的屬性console.log(add.name);console.log(add.length);
函數的方法:
toString(), 返回函數源代碼console.log(add.toString());
函數作用域
全局: global: 頂層函數之外聲明的,可以在函數內訪問
局部: local: 函數內部聲明,僅限內部訪問,外部不可見
函數內部聲明的變量如果不加var,就不能和當前的作用域綁定, 自動與全局綁定
下面是控制台的效果圖

主要代碼
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>函數</title></head><body><script>//函數的聲明function show1(value) {console.log(value);}//函數的調用show1('what you name ');// 函數表達式 / 匿名函數聲明與調用,函數表達式后面沒有‘;’var show2 = function display(value) {console.log(value);}show2('wo jiao da wei ');console.log(show2.name);//由於是函數表達式,所以函數未定義,無法傳值,顯示錯誤// display(" How old are You");//構造函數var sum = Function('a','b', 'return a + b');console.log(sum(11, 111));//與上面的函數意義相同// var sum = function (a, b) {return a + b;}// console.log(sum(20, 90));// 函數做為值的使用場景function add (a, b, c) {// 輸出結果return a + b +c;}// 賦值,由於還有一個c沒傳值,結果為NANvar sum = add;console.log(sum(12, 23));// 函數當做對象屬性var obj = {};obj.sum = add;console.log(obj.sum(50, 90,13));// 函數當參數: 回調function huidiao(callback, a, b,c) {return callback(a, b,c);}console.log(huidiao(add, 28, 49,123));// 函數當返回值function fun1() {return add;}console.log(fun1()(39, 27,12) );// es5: 不支持塊作用域if (true) {var name = '測試1';}console.log(name);// es6: 支持塊作用域,顯示未定義// if (true) {// let names = '測試2';// }// console.log(names);// 函數的參數對象/參數類數組function sum(...params) {console.log(arguments);for (var i = 0; i < arguments.length; i++) {console.log(arguments[i]);}console.log(a + b);}sum(10,20,40,50);console.log(sum.length);// 閉包用來訪問私有變量function demo1() {var email = '144682@qq.com';// 子函數return function hello(){console.log(email);}hello;}// console.log(email);// console.log(typeof demo1()());console.log(demo1());console.log(demo1()());</script></body></html>
