当前位置: 首页 > news >正文

建手机网站价格广东软件公司

建手机网站价格,广东软件公司,泰安网站建设培训,百度推广账户优化方案一#xff1a;JavaScript 1、闭包是什么#xff1f;利弊#xff1f;如何解决弊端#xff1f; 闭包是什么#xff1a;JS中内层函数可以访问外层函数的变量#xff0c;外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处#xff1a; 隔离作用…一JavaScript 1、闭包是什么利弊如何解决弊端 闭包是什么JS中内层函数可以访问外层函数的变量外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处 隔离作用域保护私有变量有了闭包才有局部变量要不然都是全局变量了。让我们可以使用回调操作其他函数内部变量长期驻扎在内存中不会被内存回收机制回收即延长变量的生命周期 闭包的弊端内层函数引用外层函数变量内层函数占用内存。如果不释放内存过多时易引起内存泄露。 解决办法无法自动销户就及时手动回收使用后将函数的引用赋null。 2、深度拷贝 1、JSON的stringify和parse处理的缺点 如果对象中有属性是function或者undefined处理后会被过滤掉如果属性值是对象且由构造函数生成的实例对象会丢弃对象的constructor2、$.extend() 使用jquey的extend方法不仅能实现深度拷贝还能实现深度合并。具体用法 深度拷贝$.extend({},targetObject) // targetObject是需要复制的对象 深度合并$.extend(true,{},targetObject1,targetObject2) // 可以将两个对象深度合并后再返回出一个新对象 3、判断空对象 1、用JSON的stringify和parse转成字符串后跟{}对比 2、用ES6判断Object.keys(targetObject)返回值数组的长度是否为0 3、用ES5判断Object.getOwnPropertyNames(targetObject)返回的数组长度是否为0 4、如何改变this指向 call/apply let a {name: sunq,fn:function(action){console.log(this.name love action);} } let b {name:sunLi}// 正常的this指向 a.fn(basketball); // sunq love basketball // 改变this指向并体现call与apply的区别 a.fn.apply(b,[football]); // sunLi love football a.fn.call(b,football); // sunLi love football bind // 还是上面的示例bind也可以实现call和apply的效果。 // bind的不同之处在于bind会返回一个新的函数。如果需要传参需要再调用该函数并传参 a.fn.bind(b)(piano); // sunLi love piano 5、沙箱隔离怎么做 使用iframe可以实现变量隔离 二CSS 1、如何实现一个宽度不固定的上下左右居中的弹框 方法一 .pop{width: 300px;height: 300px;position: fixed;left: 0;right: 0;top: 0;bottom: 0;margin: auto;border: 1px solid red; } 方法二 .chartLengend { // 父元素width: 60px;height: 40px;position: relative;.line { // 子元素width: 100%; height: 3px;background-color: #DEA182;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);border-radius: 2px;} } 三Vue 1、单页面应用是什么优缺点如何弥补缺点 单页面对一个入口DOM通过路由去更改内容整个应用只有一个html页面 SPA优点用户体验好没有页面切换就没有白屏情况 SPA缺点首屏加载慢不利于SEO SPA弥补通过压缩、路由懒加载缓解首屏慢通过SSR 服务器端渲染解决SEO问题 2、组件间通信方式常用哪些 父子props和$emit 兄弟使用EventBus事件总线vue.$bus.on和emit方法。详情 3、v-if和v-show区别 v-if控制Dom是否存在v-show控制样式 4、vuex是什么使用步骤大概说下 5、vue watch和computed区别 computed 计算结果并返回只有当被计算的属性发生改变时才会触发即计算属性的结果会被缓存除非依赖的响应属性变化才会重新及孙 watch 监听某一个值当被监听的值发生变化时执行相关操作。 与computed的区别是watch更加适用于监听某一个值得变化并做对应操作比如请求后台接口等。而computed适用于计算已有的值并返回结果。 监听简单数据类型 data(){ return{ first:2 } }, watch:{ first(){ console.log(this.first) } }, 6、Vue的虚拟Dom是什么 7、vue的双向绑定原理为什么返回对象 8、vue首屏优化怎么做 1、vue-cli开启打包压缩 和后台配合 gzip访问 2、路由懒加载 9、vue2的缺陷是什么如何解决vue2.0数组中某一项改变页面不改变的情况 缺陷数据如果为对象直接新增属性如果为数组通过下标操作数组项页面无法触发更新。 原因 Vue 会在初始化实例时对 property 执行 getter/setter 转化所以 property 必须在 data 对象上存在才能让 Vue 将它转换为响应式的。关于数组作者通过重写push/pop/shift/unshift/splice/reverse/sort这些方法来实现数据的相应绑定其余的操作无法触发页面更新 对策关于对象可以通过Vue.$set(obj,key,value)组件中通过this.$set(obj,key,value)实现新增修改属性vue可以相应更新视图。关于数组也可以通过Vue.$set(obj,key,value)或者作者重写的那些方法来操作 10、异步操作放在created还是mouted 如果有些数据需要在初始化时就渲染的比如select下拉框的下拉内容在mouted中请求。好处如下 页面初始化速度更快减少用户等待时间放在 created 中有助于一致性因为ssr 不支持 beforeMount 、mounted 钩子函数 四ES6 1、箭头函数与es5函数区别 箭头函数的this指向是固定的普通的this指向是可变的 let a {name: sunq,fn:function(action){console.log(this.name love action);} } let b {name:sunLi}// 正常的this指向调用他的对象 a.fn(basketball); // sunq love basketball // 改变this指向 a.fn.apply(b,[football]); // sunLi love football// 如果将a对象的fn函数改成箭头函数this.name会是undefined // 箭头函数的this指向不会改变且总是指向函数定义生效时所在的对象。 不可以当作构造函数不可以对箭头函数使用new命令否则会抛出一个错误。 var Person function(name){this.name name; } let sunq new Person(sq); // {name: sq}var Person (name) {this.name name; } let sunq new Person(sq); // 报错 Person is not a constructor 无arguments对象不可以使用yield命令因此箭头函数不能用作 Generator 函数。 2、ES6提供的解决异步交互的新方法区别 Promise、Genarate、async\await 3、宏任务和微任务有哪些执行顺序 4、先并行请求2个接口后再请求第3个接口如何处理 使用Promise.all()方法将两个promise传入all方法拿到异步结果再请求第三个 明明知道的语法面试官一问我偏偏就是跟实际场景联系不到一块具体代码 五ElementUI 1、如果需要修改样式怎么做 再写一个样式表引入!important覆盖样式穿透 六Jquery 1、如何获取同一个cl下最后一个li 2、window.load和$(document).ready()的区别执行先后顺序 3、如何绑定一个点击事件 4、Jquery常用动画 七Git的使用 1、常用哪些语句 pull、commit、push、reset、merge、log、branch、 2、版本回退语句soft和hard区别 git reset --soft 版本号 git reset --hard 版本号 soft会退后代码改动在本地还保存的有。hard会删除本地改动彻底抹去该版本的痕迹。详情 3、合并分支注意事项 将自己分支合到目标分支前最好先将目标分支合到自己分支上处理完冲突再将自己的分支合回目标分支。 八敏捷开发 1、什么是敏捷开发 个人理解敏捷开发就是把一个大需求拆为多个独立的小需求。每个小需求可独立开发、测试、上线循序渐进的完成整个系统。每个版本的周期可能比较短比如2周或者4周。 比如某公司需要开发维护一个巨大的平台可能把平台外包给多个公司干。如果用如上方法并行开发可显著缩减工期。 如果想要保证每个版本又快又顺利的上线需要有完善的角色支持和流程规范。 2、敏捷开发的好处 个人理解当团队稍大工期很紧时如何有条不紊的保证版本质量就需要一套有效的流程了。 比如一个团队同时收到3个需求每个需求分发给多个前后端开发。作为版本负责人或者项目负责人如何把控每个人的代码质量、完成进度、过程留痕、风险规避其实是有难度的。 一个需求如果经过需求澄清、方案设计、设计评审、需求传递、版本排期/评审、开发划分、版本开发、测试用例评审、内部测试、代码评审、灰度试用测试、版本发布、业务验收等完整的流程可以有效地降低犯错的几率。也方便后期的查找责任人总结各环节的问题提升团队的工作效率使交付越来越平稳。 九开源项目 部分公司面试要求中有写维护有开源项目且具有50个star者优先。 我平时有维护一个具备管理端/用户端/服务端的个人网站sunqs blog 面试过程中无话可说时可以拿出来聊聊缓解尴尬。 博客的代码全部开源源码Github地址
http://www.w-s-a.com/news/900311/

相关文章:

  • 鲜花网站建设的利息分析网站设计与制作专业
  • 深圳网站建设排名做网站的公司高创
  • 杭州哪家做外贸网站全国物流网站有哪些平台
  • 企业网站建设个人博客鞍山晟宇网站建设
  • 广东省自然资源厅网站h5移动端网站模板下载
  • 网站建设和安全管理制度云南九泰建设工程有限公司官方网站
  • 网站的关键词和描述做外贸家纺资料网站
  • 绥化市建设工程网站招投标地址链接怎么生成
  • 网站制作设计发展前景网页链接制作生成二维码
  • 廊坊哪里有制作手机网站的企业网站建设费用财务处理
  • 手机网站建设书籍工商咨询服务
  • 麻花星空影视传媒制作公司网站美食网站网站建设定位
  • 网站的切图是谁来做学会网站 建设
  • 交通局网站建设方案答辩ppt模板免费下载 素材
  • 个人摄影网站推介网手机版
  • 有哪些免费的视频网站网站开发和竞价
  • 学校网站如何做广州商城型网站建设
  • 微网站建设哪家便宜易优建站系统
  • 推荐做木工的视频网站毕业设计做的网站抄袭
  • 网站导航页面制作wordpress调用文章阅读量
  • app小程序网站开发品牌购物网站十大排名
  • 用wordpress做购物网站龙岩品牌设计
  • 网站开发是指wordpress系统在线升级
  • 网站建设运营的灵魂是什么意思页面跳转中
  • 家政服务网站源码重庆建网站企业有哪些
  • 怎样分析一个网站做的好坏重庆长寿网站设计公司哪家专业
  • 百度助手app下载苏州seo关键词优化排名
  • 17网站一起做 佛山诸城网站建设多少钱
  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网