1102作业
作业内容:1. 实例演示不同的数组类型与访问方式 2. 实例演示分支的不同类型,注意else的本质
1. 实例演示不同的数组类型与访问方式
- 数组用 […] 来表示
- 对象 用 {…} 来表示
- 索引是从 [0, 1, 2, 3, …],从0开始递增的“有序”正整数
一、多维数组:
const arr [
[1, '苹果',10]
[2, '桔子',13]
[3, '香蕉',14]
]
// 用 forEach 来调取里面的数据
arr.forEach(function (item, key, arr) {
console.log(item);
});
// 箭头函数,来简写
arr.forEach((key) => console.log(key));
二、对象数组:
const fruits[
{id: 1, name: '苹果',price: 10}
{id: 1, name: '桔子',price: 13}
{id: 1, name: '香蕉',price: 14}
]
// 用forEach 调取
fruit.forEach(item) => {console.log(item)
}
三、类数组:
1. 不是 class, 类:类似,像, 类数组 -> 类似一个数组,但不是数组
2. 仍然是一个对象,用对象来模拟一个数组
3. Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
4. dom 编程,浏览器中的对象
const likeArr = {
0. '苹果',
1. '桔子',
2. '香蕉',
length: 3,
}
console.log(Array.form(likeArr));
// 再将类数组转换为真数组
Array.from(likeArr).forEach(item) => console.log(item);
四、 函数数组
// 数组成员是函数
// const events = [
// function () {
// return "准备上课";
// },
// function () {
// return "开始上课";
// },
// function () {
// return "准备放学";
// },
// ];
// 简化代码:
const events = [() => "准备上课", () => "开始上课", () => "准备放学"];
events.forEach(ev => console.log(ev()) )
2. 实例演示分支的不同类型,注意else的本质
作用域分为四种类型:
- 块作用域
- 函数作用域
- 全局作用域
- 作用域链
- 块作用域举例,只能内部访问,块的外部不可访问:
{
let uname = 'admin'
console.log(uname)
}
// 下面 console.log() 这种外部不能访问
// console.log(uname)
- 函数作用域
const hello = function(){
// 声明私有成员
const site = '中国你好';
// 私有成员,函数内部可以访问
console.log(site);
}
hello();
// 因为作用域原因,内部私有成员,外部不可访问,可以用hello()方式来访问。
// console.log(site);
- 全局作用域
// 声明变量
const course = 'JavaScript';
// 块作用域访问 方式
{
console.log(course);
}
// 函数里面访问 方式
const show = function(){
console.log(course);
}
show()
- 作用域链
const item = '手机';
const scopechain = function(){
const item = '电脑';
return function(){
const item = '平板电脑';
return(item);
};
};
// 下面的访问先从内部开始,如果内部没有,就往上一级找,直到全局里面,全局里面再没有就报错了
console.log(scopechain()())
else 的本质实际就是默认值 default, 可以在变量前面加个”!”,就是取”!true” 的反值,就是默认