一、变量
1.1 let和var的区别
1.1.1语法:var num1 = 66 let num2 = 99
1.1.2区别:let定义的变量具有块级作用域---ES6之后,var定义的变量会在window对象里添加一个属性--ES5之前.
二、循环语句for循环
2.1语法
for (let i = 0 ; i < 10 ; i++ ) {}
i=0进入循环时执行 只执行一次 i < 10循环条件 i++计数器 {}里面是循环体
2.2for循环的作用:可以重复执行某段代码
2.3执行过程:进入循环时i=0只执行一次 然后进行条件判断 条件满足则继续执行循环体里的代码,最后执行计数器i++ (i++是一种语法糖)相当于 i = i + 1 一轮执行完成后 下一次执行开始重复上述过程.条件不满足则循环结束.
三、函数
3.1语法
function 函数名 (){}
3.2函数的作用:相当于是一个工具,函数内部封装了一些功能 eg:可以进行简单的运算
也可以完成一些复杂的功能,它的好处在于随用随掉,不调用是不会执行的,而for循环在代码从上往下执行的过程中立即调用.
3.3函数传参
为什么需要参数呢?它的作用在于使函数完成灵活完成一些功能时,形参可以当做变量来使用
形参的概念:相当于在函数内部可以当做变量来使用进行需要的的数据处理
实参的概念:在函数调用时按照函数定义的参数顺序,把希望在函数内部处理的数据通过参数传递
函数定义时 function foo(形参){}
函数调用时:foo(实参)
函数可以传递多个参数 多个参数之间用,分割.
在参数传递的过程中,传递的实参个数不确定时,每个函数内部都存在一个arguments对象,他也可以是一个类数组,因为它的值可以采用数组的取值方式获取到 eg:arguments[index],为什么说它是一个伪数组,因为数组的增删改查方法都不可以使用.(后续ES6新增剩余参数的方法)
3.4函数的返回值:关键字 return 如果没有返回值 则控制台打印结果为undefined,返回值为undefined控制台打印结果同样为undefined,同时函数中没有使用return语句那么函数的返回值也是undefined
返回值的作用:返回的结果可以便于后续页面的展示eg:后台返回的购物数量展示在页面上展示,也可以进行格式化处理 例如一个非常大的数字可以通过函数封装实现相关功能后返回一个文字例如亿万等等的文字在用户所看到的的页面上进行展示.
return的另外一个作用,return语句后的语句不再执行,在函数中执行return操作后,那么当前函数就会终止.
3.5函数的内置函数:
3.5.1promopt,alert,浏览器和用户进行交互的函数,会有弹窗出现
document.write() ()里面的内容会在页面里显示
3.6高阶函数:箭头函数
3.6.1语法:let bar = function () = > {}如果函数只有一个参数,或者代码块只有一行代码则可以简写为let bar = function item = > item=5
3.6.2高阶函数foreach遍历数组
[1,2,3,4,5,6].foreach(item,[index],[oneself]) {
log(item,index,oneself)
}
参数一:数组每一项的值,参数二数组每一项的索引,参数三:数组本身
[]表示改参数是可选参数,可写可不写 该函数是f相当于for循环 相比于for循环 它的使用更加简单.
四、对象:可以储存多个数据
4.1语法:obj = {
name:"kebo",
age:18,
eating:function(){
console.log('饿了要吃饭')
}
}
4.2取值:
obj.name===obj['name']
obj.eating
五、数组
5.1语法:let array = ['apple' , 'banana' , 'orange' , 'watermelon']
使用array[index]
index表示索引array的索引从0开始,即array[0]取到的值是apple 以此来推
取到所有的值:配合for循环使用,for循环的作用便是可以重复执行某段代码
for(let i = 0 ; i < array.length ; i++){
console.log(array[i])
}
5.2方法
5.2.1
增:push在数组最后追加一个元素
unshift在数组前追加一个元素
删:pop删除数组最后一个元素
shift删除数组第一个元素
取到数组最后一个元素:let arr = [1,2,3,4,5,6,7,8,9]
let lastEl = arr[arr.length - 1]
六、其他补充:
6.1写法type of() === type of
6.2作用域快
{}在作用快内部定义的变量只能在作用域快内部使用 let和const的变量具有块级作用域
6.3Math方法
Math.floor()向下取整 Math.ceil()向上取整 Math.abs()绝对值 Math.random() 取到0-1的随机数1取不到,0可以取到.