老师这样注释如何
// 对图片进行分类
Img.prototype._classify = function(data) {
// 分类过的图片src,存放到srcs数组,通过它判断这个需要进行分类的图片是不是已经生成过了
let srcs = [];
data.forEach(({ title, type, alt, src }) => {
if (!this.types.includes(type)) {
this.types.push(type);
}
//Object.keys( ) 会返回一个数组,数组中是这个对象的key值列表。判断这个type类型是否存在于key值列表中
//不存在的话,先初始化一个空数组放这个类型对应的图片下标,key=>属性名 data[key]=>属性值。键值对,即 类型:图下标1 图下标2
if (!Object.keys(this.classified).includes(type)) {
this.classified[type] = [];
}
if (!srcs.includes(src)) {
// 图片没有生成过
// 生成图片
// 添加到 对应的分类中
srcs.push(src);
let figure = document.createElement('figure');
let img = document.createElement('img');
let figcaption = document.createElement('figcaption');
img.src = src;
//img.alt = alt; 也可以
img.setAttribute('alt', alt);
figcaption.innerText = title;
methods.appendChild(figure, img, figcaption);
this.all.push(figure);
//因为开始都是新生成图片,所以all最后一个图片的索引(长度-1)就是需要加入到当前类型的图片索引
this.classified[type].push(this.all.length - 1);
} else {
// 去all中 找到对应的图片
// 添加到 对应的分类中
//function(s1){return s1 === src},srcs里地址下标和all里图片下标是对应的,
//所以可从srcs里遍历,实现src相等的图片其索引下标位置加进对应type分类中
this.classified[type].push(srcs.findIndex(s1 => s1 === src));
}
});
};
建议慕课网:
对于这样的实战,多一些逻辑分析,流程,如何设计这样的功能,比如比较完整的流程图说明,敲代码的时候更清晰,当然本节有文字注释说明,也算有流程方向。
希望能够有书面文档说明,毕竟没有字幕,得听好多遍,才有些印象要做什么,为什么,如何 ,实现这样的功能。
相对花时间,有些方法不熟悉或者没见过,也算学习新方法知识和复习以前的知识了。
对于本节中,用到的方法,也可以一并简单说明整理到文档中
正在回答
同学你好!
同学的方法是很对的~
前期对项目的分析,流程包括流程图是产品经理给提供的一个开发文档,是对整个项目的大体把控,
同学主要做的是在项目中每个页面的布局,js代码的逻辑构思,是在写代码之前要做的,而不是一接到项目就埋头去写代码。可以把这些也写在文档中,方面后期开发时候使用。
有的公司要求兼容性,所以这方面是需要积累的(也有不需要的,那就不需要积累),对于公司的代码规范要求,同学可以在工作中其他同事的代码中看出来,或者有相关的规范说明,还有优化是公司方面的要求,但是代码要尽量做到简单 明确 方面团队合作和后期维护~
如果帮助到了你 欢迎采纳 祝学习愉快~
设计原理,
初始化里定义types存放所有图片类型,all放着所有图片元素。
srcs数组里存放着所有进行分类过的地址,all和srcs图片对应的下标一样。classified存放着不同类型及其对应图片从all里取来的下标。先判断类型是否存在,没有就加到存放类型的types里;判断type是不是classified里的键值对中的key,如果还没有的话,把这type作为key,并设置空数组存放这个type对应的图片下标,也就是key对应的值;判断图片的src存放到srcs里没有,没有的话把src存进去,src是data数据里准备好了的,所以不需要生成。因为需要显示到页面,所以得生成图片元素,后面来操作显示到页面上。并把图片元素传给all里存放,接着对新生成的图片进行分类,因为操作的是同一对象,所以this.src和this.type都是指同一个,又因为都是新生成图片,所以最后传进all里的图片下标也就是我们应该把它填进该type类型里的图片下标数字。
如果srcs里有这个src了,那么从里面取出来进行分类。根据srcs里地址下标和all里图片下标是对应的关系,所以可从srcs里遍历,实现src相等的图片其索引下标位置加进对应type分类中。
- 参与学习 人
- 提交作业 209 份
- 解答问题 3299 个
本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星