位置: IT常识 - 正文

【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 2 期-职业院校组(蓝桥杯b组2020)

编辑:rootadmin
【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 2 期-职业院校组 第一题:【真题练习】凭空消失的TA

推荐整理分享【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 2 期-职业院校组(蓝桥杯b组2020),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:蓝桥杯b组2021,蓝桥杯2022,蓝桥杯官方,蓝桥杯a组2021,蓝桥杯官方,蓝桥杯资料,蓝桥杯答疑,蓝桥杯2022,内容如对您有帮助,希望把文章链接给更多的朋友!

题目要求:

我的思路:

该题要求为找到vue页面中内容消失的原因。vue代码结构都是由elmentui写的,所以最先考虑的是elment-ui的js文件有没有被引入,查看index.js页面发现并没有引入elment-ui.js文件只引入了elment-ui的css文件,所以在css下方引入elment-ui的js就解决了。

我的答案:

<script src="./element-ui-2.15.10/index.js"></script>第二题:【真题练习】用户名片

题目要求:

我的思路:

题目要求卡片和头像水平垂直居中,卡片右侧文字水平居中。观察结构发现,这几个属性都共有一个共用的类名center,且在css属性中没有此类名的任何代码。所以肯定是对此类名进行样式定义。

我的答案:

/* TODO 待补充代码 */.center{position:absolute;left: 50%;top: 50%;//上述代码利用绝对定位将元素垂直水平方向各偏移父元素(position: relative)的50%,这个时候元素还不是居中(因为定位偏移的中心点不在元素的中心上而是在元素的边界上及左上角)transform: translate(-50%,-50%);//使用transform将元素在水平和垂直的负方向移动自身的50%(使得transform运动的中心点在元素的中心位置)}第三题:【真题练习】偷梁换柱

题目要求:

我的思路:

我刚开始就没有注意到题目提示说可以使用Object.defineProperty或proxy解决。然后越看这题越奇怪。所以说一定要认真读题😭😭😭!!!这道题主要是数据劫持的运用,懂这两个方法咋使用那么这道题就会很简单。

我的答案:

方法一:使用Object.defineProperty 解决Object.defineProperty(obj, prop, descriptor)方法接收三个参数:1.属性所在的对象2.属性的名字3.一个描述符对象(它可以是数据属性也可以是访问器属性)数据属性:configurable:当它设置为true时,则不能通过delete删除属性。enumerable:当它设置成true时,则不能通过迭代器遍历出这个属性的值。writable:将它设置成true时,就不能修改该属性的值了。访问器属性:get:在读取属性时调用的函数。set:在写入属性时调用的函数,在里面可以对刚写入的值进行限制。

let i=0Object.defineProperty(person,'age',{get(){return i},set(value){//在set里面对数据进行劫持if(value<0){i=0}else if(value<=150){i=value}else{i=150}}})

方法二:使用Proxy 解决在ES6之前,我们常使用Object.defineProperty()方法来进行数据代理从而实现数据的劫持,在ES6之后诞生了一个全新的对象(构造器):Proxy。基础语法:const proxyTarget = new Proxy(target, handler)其中target可以是任何对象,proxy会对这个对象进行包装,handler是一个对象,它的属性提供了某些操作发生时所对应的处理函数(比如说:get(目标文件、被获取的属性名、proxy对象) 用于拦截对象属性的读取操作,set(目标对象、被设置的属性名、新属性值、最初被调用的对象)用于拦截对象属性的修改/设置操作,deleteProperty(目标对象、待删除的属性名)拦截对象属性的删除操作)。

person=new Proxy(person,{//set拦截对象属性设置修改操作set(target,property,value){if (property === "age" && value<0){target.age=0}else if(property === "age" && value<=150){target.age=value}else{target.age=150}}})第四题:【真题练习】大电影

题目要求:

我的思路:

这道题主要考察的是jquery的基础语法的使用。根据上面最终效果图的展示,我的基本思路是:当点击的是空心爱心时:①出现成功的弹窗②成功的弹窗两秒后自动消失③成功的弹窗还可以通过点击右上角的×号消失④空心爱心图标变成实心的爱心图标当点击的是实心爱心时:①实心的爱心图标转变成空心的爱心图标

我的答案:

// TODO:待补充代码$('.card-body-option-favorite').each((index,item)=>{$(item).click(function(){if($(this).children().attr('src')==="./images/hollow.svg"){//替换图标$(this).children().attr('src','./images/solid.svg')//出现成功的弹窗$('#toast__container').attr('style','display:block')// 两秒后自动关闭setTimeout(function(){$('#toast__container').attr('style','display:none')},2000)//点击×关闭$('.toast__close').click(function(){$('#toast__container').attr('style','display:none')})}else{$(this).children().attr('src','./images/hollow.svg')}})})第五题:【真题练习】粒粒皆辛苦

题目要求:

我的思路:

这道题首先使用axios调用接口,拿到接口里面的值。然后再对值进行处理,查看之前图表的上的值,它的结构是:

而数据返回给我们的是这样的:

所以我们要将数据返给我们的值转换成与结构中是一样的,这样方便后面赋值,重构图表。

【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 2 期-职业院校组(蓝桥杯b组2020)

我的答案:

// TODO: 待补充代码axios.get('./data.json').then(res=>{const {data}=res.data//处理数据const newdata=[["全部"],["小麦"],["大豆"],["马铃薯"],["玉米"]]for(key in data){newdata[0].push(key)for(value in data[key]){if(value==='wheat'){newdata[1].push(data[key][value])}if(value==='soybean'){newdata[2].push(data[key][value])}if(value==='potato'){newdata[3].push(data[key][value])}if(value==='corn'){newdata[4].push(data[key][value])}}}option.dataset.source=newdata;myChart.setOption(option);})第六题:【真题练习】618 活动

题目要求:

效果图:

我的思路:

页面布局的题目是必出的,同时也是花费时间较久的一道题。要勤于练习,这里我就不放代码了。

第七题:【真题练习】绝美宋词

题目要求:

最终效果:

我的思路:

①首先调接口拿到诗有关的数据②先将诗动态展示到页面中,由于最后要高亮显示,高亮显示的主要方法是使用 <span class="highlight"></span> 标签包裹关键词。所以我们只能使用v-html结合v-for来动态展示,因为v-html可以解析html代码。③为输入框双向绑定一个值用于获取关键词,再为它绑定@input事件,每输入一次就运行一次,如果key不为空那么就查找诗里是否存在关键字,有则放到一个新数组里,记得替换v-for里的数组为新数组。每次进来这个函数的时候先将新数组置空。④高亮匹配。为v-html绑定函数并传入数据,使用正则表达式,如果找到有包含关键字的诗那么通过replaceAll替换掉里面的关键字。如果不是就直接返回原来的值。

我的答案:

<body><div id="app"><h1 style="text-align: center">输入关键字,找一首词</h1><!-- TODO:待补充代码 --><div class="search-form"><input @input="changearr" type="text" id="search" class="search" v-model="key" placeholder="词牌名 词句 词人"/><ul class="suggestions"><!-- 每一首完整词句用一个 li 包裹 --><li v-for="(item,index) in newarr" :key="index"><span class="poet" v-html=handle(item.poetry_content)></span><span class="title" v-html=handle(`${item.title}-${item.author}`)></span></li></ul></div></div><script>let vm = new Vue({el:'#app',// TODO:待补充代码data(){return{arr:[],key:"",newarr:[]}},created(){axios.get('./data.json').then((res)=>{if(res.status===200){this.arr=res.data}})},methods:{changearr(){this.newarr=[]// 如果关键词不为空if(this.key){this.arr.forEach(element => {if(element.poetry_content.includes(this.key) || element.title.includes(this.key) || element.author.includes(this.key)){this.newarr.push(element)}});}},handle(str){console.log(str)var reg=new RegExp(this.key,'g')if(reg.test(str)){return str.replaceAll(this.key,`<span class="highlight">${this.key}</span>`)console.log(111)}else{return str}}}})</script></bod第八题:【真题练习】乾坤大挪移心法

题目要求:

我的思路:

刚看到这道题的属实有点呆着了,因为它调用函数的方式很神奇,很少遇到这样的。前几天刚好在某个视频里看到过...args这种写法,专门用于参数不确定的时候用的。

方法一:

简便写法,因为它最后一次调用不传参。所以说明最后一次args的长度为0,如果没长度就返回 '战胜峨眉,武当,少林'(因为最后输出值都是一样的所以这么写也没问题),有就继续调用函数mentalMethod。

function mentalMethod(...args) {// TODO 待补充代码if(args.length){return mentalMethod}else{return '战胜峨眉,武当,少林'}}

方法二:

用闭包,说白了就是函数的内部子函数,能够读取其他函数内部变量的函数。它可以引用函数外部的变量,这是解这道题的关键。

function mentalMethod(...args) {// TODO 待补充代码var a=""a+=args.join(',')let fn=function (...args){if(args.length>0){a+=','+args.join(',')return fn}else{return '战胜'+a}}return fn}第九题:【真题练习】不能说的秘密

题目要求:

最终效果演示:

我的思路:

这道题有一个很细节的地方就是你选择的条件必须在密码中出现,下午找了很久没发现啥错误但是就是不通过结果发现还有如下的情况出现。假如我选择了包含大写和包含小写,因为是随机出来的,有可能出现只包含大写或者只包含小写的情况出现。(我思维还是不够严谨😭😭😭)所以我们点击某个条件时先在它内部进行一次随机取值,这样就可以保证最后输出一定会一个满足此条件的。虽然成功了,但是总觉得哪里还不太完美。十进制ASCII码转换成字符:String.fromCodePoint(num1[, ...[, numN]])方法

我的答案:

function generatePassword(lower, upper, number, symbol, length) {//TODO:待补充代码let key=[]let keys=[]password=[]function per(key){keys.push(...key)password.push(key[Math.floor(Math.random()*key.length)])}if(lower){let key=[]for(var i=0;i<26;i++){key.push(String.fromCodePoint(97+i))//产生'a-z'的26个字母}per(key)//单独进行一次随机取值}if(upper){let key=[]for(var i=0;i<26;i++){key.push(String.fromCodePoint(65+i))//产生'A-Z'的26个字母}per(key)}if(number){let key=[]for(var i=0;i<10;i++){key.push(i)//产生数字'0-9'}per(key)}if(symbol){let a=['!','@','#','$','%','^','&','*','(',')','{','}','[',']','=','<','>','/',',','.']key.push(...a)per(key)}var length1=password.lengthfor(var i=0;i<(length-length1);i++){password.push(keys[Math.floor(Math.random()*keys.length)])}return password.join('')}第十题:【真题练习】收快递了

题目要求:

我的思路:

就是找你输入的地名是否存在,如果存在那么就将当前地面先存到数组中。如果不存在就继续往里层找,最后判断数组是否为空,为空表示没找到值就返回一个null,有就返回数组。我写的时候为了偷懒第一层我就直接写了if(regions[0].name===regionName)……因为我看传进来的数据第一层就一个,也检测过了没有问题,然后就死后通不过,真的有点搞不明白这个检测的了。最后看别人是 regions.forEach(el=>{……}写的然后我改完之后就通过了………………。还是要写的严谨些的好!!!

我的答案:

function findRegion(regions, regionName) {// TODO: 在这里写入具体的实现逻辑// 需要从树状结构的行政信息中,遍历找到目标区域的行政信息,如输入:成都市,返回 [四川省,成都市]// 如果所输入的位置信息不存在,则返回 nullvar address=[]regions.forEach(el=>{if(el.name===regionName){address.push(regionName)}else{el.children.forEach(element => {if(element.name===regionName){address.push(regions[0].name)address.push(regionName)}else{element.children.forEach(ele=>{if(ele.name===regionName){address.push(regions[0].name)address.push(element.name)address.push(regionName)}})}});}})return address.length===0?null:address}module.exports = findRegion; // 检测需要,请勿删除⭐结语

以上是我这几天做下来的第十四届蓝桥杯(Web 应用开发)模拟赛 2 期-职业院校组的所有内容了,我也是还在前端之路摸爬滚打的小白,有哪里写的不严谨的地方,请各位大佬帮忙留言指正。还有24天就要比赛了!!!最后祝各位在蓝桥杯中取得满意的成绩💓💓💓!!!

本文链接地址:https://www.jiuchutong.com/zhishi/298561.html 转载请保留说明!

上一篇:【深度学习笔记】特征融合concat和add的区别

下一篇:(vue权限管理)前端路由表角色权限管理,通过登录不同角色侧边栏显示对应页面(vue权限管理面试题)

  • 减免所得税如何申报
  • 二手车交易税是谁交
  • 网银转账往来款
  • 19年高速公路免费时间
  • 培训发生的住宿费 差旅费可以放入职工教育经费吗
  • 材料成本差异怎么理解
  • 企业怎么办税
  • 小规模纳税季度申报
  • 现金抵扣到底要不要缴纳增值税?
  • 企业清算时,经营收入与清算收益可以合并申报吗?
  • 本月只有红字发票该怎么申报小规模
  • 电子发票隔月可以报销吗
  • 公司基本户没开影响报税吗
  • 账务中如何把短期借款转变为实收资本?
  • 广告费预付后收条怎么写
  • 冲减以前年度所得税费用
  • 申报表b表去哪里申报
  • 用于在建工程的固定资产是否可以计提折旧
  • 小型微利企业的
  • 其他应收款押金计提坏账吗
  • 企业转让房产所得税税率
  • php写post接口
  • deepin怎么删除账户
  • 在建工程进项税额转出
  • p指针后移的语句
  • php option
  • laravel常用命令
  • wamp怎么运行php文件
  • 任意盈余公积金的用途
  • 企业清算的会计科目
  • 地方各项基金费(工会经费)可以不申报吗
  • 增长gdp是什么意思
  • 购进商品发生溢余的核算
  • 在pycharm中配置python
  • dedecms怎么改图片
  • 日主题ripro v8.1破解版(修复缓存器功能)
  • python里面init
  • 新手搭建一个织布机
  • mysql 增加用户
  • 管理费用科目包括
  • 农机合作社项目申报方案
  • 企业所得税退税会计分录
  • 资产现金流量收益率为什么不是净利润除以平均现金流量
  • 公司的车过户到个人名下需要什么手续
  • 职工薪酬包括哪些应如何计算
  • 实收资本如何进行核算
  • 以前年度损益调整账务处理分录
  • 费用分摊科目
  • 待发货订单是什么意思
  • 电子缴税付款凭证是什么结算方式
  • 装饰设计 工程
  • 出纳提取现金有金额限制吗
  • 中介费可以要求退吗
  • 母公司以房产投资子公司
  • 单位车辆保险费
  • 净资产总计等于什么
  • 出纳日记账的日期以什么为准
  • windows定时关机计划
  • win8系统win10有什么区别
  • win1020h2累积更新
  • win8的显示设置
  • ubuntu怎么安装程序
  • win7电脑全屏
  • win10笔记本键盘失灵按什么键恢复
  • win7显示桌面的组合键
  • jquery插件使用教程
  • node.js常用命令
  • 下载随手笔记
  • shell脚本运行linux命令
  • js可以实现网页中哪些效果
  • Windows环境下搭建Python开发环境的方法
  • 详解Javascript事件驱动编程
  • android判断应用是否在前台
  • 江苏税务开发票
  • 国家税务总局,湖北省税务局
  • 文化服务包括哪些专业
  • 医院电子发票怎么查
  • 杭州车辆购置税怎么算
  • 股权转让所得怎么计算个税
  • 天津市各区国税局待遇一样吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设