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

论坛模板建站网站怎么找的

论坛模板建站,网站怎么找的,wordpress多站点配置教程,上海的广告公司有哪些1.Js 中!x为true 时,x可能为哪些值 答: 1.false#xff1a;布尔值false 2.0或-0#xff1a;数字零 3.或’或 #xff08;空字符串#xff09;#xff1a;长度为0的字符串 4.null#xff1a;表示没有任何值的特殊值 5.undefined#xff1a;变量未定义时的默认…1.Js 中!x为true 时,x可能为哪些值 答: 1.false布尔值false 2.0或-0数字零 3.或’或 空字符串长度为0的字符串 4.null表示没有任何值的特殊值 5.undefined变量未定义时的默认值 6.NaN表示非数字Not a Number 注:NaN一般是某些转数字函数转不过来会报的一个值NaN它NaNNaN返回false只能使用isNaN(xxx)来判断 2. js 请求接口时在哪些情况下会出现跨域? 在JavaScript中由于浏览器的同源策略限制当你试图使用AJAX或其他方式进行跨域请求时会遇到问题。以下情况会找到跨域问题 1).协议不同 例如一个请求来自http协议网页另一个来自https协议网页 2).域名不同 例如一个请求来自example1.com另一个来自example2.com。 3).端口不同 例如一个请求来自example.com:3000另一个来自example.com:5000。 除非服务器启用了CORS跨源资源共享否则浏览器将限制这些请求并抛出跨域错误。为了解决跨域问题可以采取以下几种方式 1).CORS服务器可以设置响应头 Access-Control-Allow-Origin允许哪些源进行跨域请求。 2).JSONP 通过动态创建script标签进行跨域请求这个方法局限性较大只支持GET请求且安全性不如CORS。 3).代理服务器 通过在同源的服务器端设置一个代理将请求转发到目标服务器然后再将结果返回给前端。 4).使用postMessage进行跨文档通信 这是HTML5引入的API可以用来在不同的源之间发送消息。 5).使用WebSocket WebSocket不受同源政策的限制可以用来进行跨域通信。 3.网页中 options 请求出现的原因和作用 答:options请求出现的原因: 请求接口超出了如下范围就会先发options再发真接口: HEAD GET POST 除了被用户代理自动设置的头例如 Connection, User-Agent, 或者任何 Fetch 规范定义的其他头以及 CORS 安全的首部字段列表中的头不得人为设置任何其他头。CORS 安全的首部字段列表包括 Accept Accept-Language Content-Language Content-Type (但只限以下三个值) application/x-www-form-urlencoded multipart/form-data text/plain 跨不跨域由后台设置的res header的三个值绝定 res.header(‘Access-Control-Allow-Origin’, ‘http://myapp1.com’); res.header(‘Access-Control-Allow-Methods’, ‘GET,POST,PUT,DELETE,OPTIONS’); res.header(‘Access-Control-Allow-Headers’, ‘Content-Type’); 浏览器看到后台这三个值有任何一个不满足就会发生跨载报错 4. 简单说下回谓地狱是怎么回事?简述至少一种常规的优化方案 答:下回谓地狱就是多个串联的异步操作会导致嵌套过深代码难维护 常规方案 1).promose 2)asyncawait 3)从业务上减少互相的依赖尽量做到并行 5.递归如果过深,会占用大量内存,如果要将递归拆成常规循环,请提供你的解决思路 答:递归过深会占用大量内存而每个页面分到的内存有限会导致界面卡顿甚至卡死怎么办把过深的递归拆成常规循环采用 const stack[]; for(item in trees){ stack.push(item); while(stack.length){ const tItemstack.pop(); … } } 例子:https://www.cnblogs.com/wangpenghui522/p/16218816.html 还有其它的办法尾递归优化、使用循环代替递归、对重复计算结果的缓存也称记忆化以及对问题进行分治 6.请写个匹配手机号的正则表达式 答:var reg /^1[3-9]\d{9}$/; 7.有个数组 ary1,请使用 es6 的解构赋值,创建一个新数组 ary2,将 ary1的后5个元素赋值给 ary2 let ary1[1, 2, 3, 4, 5, 6] 答:let ary1 [1, 2, 3, 4, 5, 6]; let [, …ary2] ary1; console.log(ary2);//[2, 3, 4, 5, 6],注意:…ary2必须是最后一个就是入参一样不然会报错 7.以下代码存在什么 BUG?该如何解决? function updateCount(){ window.timersetInterval(function(){ if(!Number(window.count)){ window.count0 } window.count console.log(window.count) },1000) } 答:这个多次调用后之前的timer不会关闭而会一起在跑而大家共享一个变量导致一个值一秒变n(updateCount()调用n次)而且后面没有停止的地方长时间跑会导致内存问题页面卡顿解决就是在timer有值时要停止它并且把window.count0 8.以下 css 实现了一个什么效果? .send{ width: 150px; text-align: center; line-height: 38px; height: 40px; box-sizing: border-box; cursor: pointer; background-color: #eee; border-radius:0 5px 5px 0; user-select: none; .is-send { cursor: no-drop; color: red; } :hover{ background-color: blue; } :active{ background-color: yellow; } } 答:实现了一个按钮的效果按钮整体宽150高40背景#eee文字水平垂直居中右上右下角有5px的圆角把鼠标放上去是可点击手型背景变成蓝色当把某个按钮的 class设置成send is-send(同时)就会显示字色是红色鼠标移上去是不可操作形状也不可能复制里的文字:active代表.send:active代码鼠标点击按钮但未放手状态:hover代表鼠标移到按钮上未点击时状态,上面代码里有嵌套一般要使用工具转换下(但实践中却可以跑起来).send{.is-send{}}等于.send.is-send{}(注意没空格有空格后面代表字元素class)等于:where(.send).is-send{} 表示某个元素的类必须满足.send和.is-send两个才符合 9.css通过盒子模型,将子元素上下和左右都居中需要如何设置?如果是绝对定位如何将元素居中css 属性 display 有哪些常用的值? .parent { display: flex; justify-content: center; /* 水平居中 / align-items: center; / 垂直居中 */ } .child { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 答:flex和absolute 10.在vue 中想使用 scss 需要安装那些 npm 模块 答:官方使用sass,官方权威而node-sass是基于nodejs平台的封装编译速度比较快如果要在webpack上使用sass还要增加一个sass-loader连接库 命令:npm install --save-dev sass-loader node-sass npm i sass 11.vue 中computed 和 watch 的区别和运用场景 答:computed使用在一个属性变量依赖其它变量时当其它变量改变时它也会随着改变(例子算购物车总价列表总条数)并且它有缓存和初始值有返回值多次调用不会重新计算效率更高而watch更关注监听变量的变化当变量时可以做某些事(如发送网络请求)它有个deep属性用来监听对象(deep:true相应的固定名处理函数handler())不太关心函数返回值再函数里面也不要改变监听的值不然容易引起死循环 12.vue 中$nexttick的作用 答:它在下一个 DOM 更新周期结束后延迟执行一段代码当一个数据变化了不会立即更新dom而是放在一个队列里在某个合适的机会一并更新这时如果立即去获取相应的变化(元素的位置和尺寸)是获取不到的为了获取到只能等更新后再来获取 n e x t t i c k ( ) 传入一个回调给它当被回调时证明 d o m 已经更新了这时就可以取 d o m 的变化内容一般会使用在 c r e a t e d ( ) 函数中或者数据变了想获取相应的 d o m 变化后的信息 ∗ ∗ 13. v u e 中 , 如果需要为订单明细页创建一个路由 , 需要的格式如下 : / o r d e r / 订单 i d , 路由的 p a t h 属性该如何设置 ? ∗ ∗ 答 : p a t h : ′ / o r d e r / : i d ′ , n a m e : ′ o r d e r ′ , c o m p o n e n t : O r d e r C o m p o n e n t o r d e r 界面获取 : t h i s . nexttick()传入一个回调给它当被回调时证明dom已经更新了这时就可以取dom的变化内容一般会使用在created()函数中或者数据变了想获取相应的dom变化后的信息 **13.vue 中,如果需要为订单明细页创建一个路由,需要的格式如下:/order/订单id,路由的 path属性该如何设置?** 答:{ path: /order/:id, name: order, component: OrderComponent } order界面获取:this. nexttick()传入一个回调给它当被回调时证明dom已经更新了这时就可以取dom的变化内容一般会使用在created()函数中或者数据变了想获取相应的dom变化后的信息∗∗13.vue中,如果需要为订单明细页创建一个路由,需要的格式如下:/order/订单id,路由的path属性该如何设置?∗∗答:path:′/order/:id′,name:′order′,component:OrderComponentorder界面获取:this.route.params.id 如果是发送方this. r o u t e r . p u s h ( n a m e : r e q u i s i t i o n D e t a i l , q u e r y : i d : i t e m . r e c e i v e I d , , ) ; − − − − − r e q u i s i t i o n D e t a i l 页面接收方 : t h i s . router.push({ name: requisitionDetail, query: { id: item.receiveId,}, }); -----requisitionDetail页面接收方:this. router.push(name:requisitionDetail,query:id:item.receiveId,,);−−−−−requisitionDetail页面接收方:this.route.query.id 13.在 vue 组件的 data中,有个对象 student,在组件初始化时没有电话属性[phone],如何使[phone]属性的数据更新能被检测到?** 在 Vue.js 中如果你在初始化 data 对象时没有声明某个属性那么在后期动态添加该属性Vue 是无法检测到这个变化的。这是由于 Vue.js 的响应性系统的工作方式决定的Vue.js 在初始化组件时会遍历 data 对象的属性用 Object.defineProperty 为这些属性添加 getter 和 setter来实现数据变化的检测和通知。但是Vue.js 提供了一个方法 Vue.set(object, propertyName, value) 或者 this. s e t ( o b j e c t , p r o p e r t y N a m e , v a l u e ) 可以为对象添加新的响应式属性。使用这个方法你就可以为 s t u d e n t 对象添加 p h o n e 属性的数据更新并且使其能被 V u e . j s 检测到例子 : t h i s . set(object, propertyName, value) 可以为对象添加新的响应式属性。使用这个方法你就可以为 student 对象添加 phone 属性的数据更新并且使其能被 Vue.js 检测到例子: this. set(object,propertyName,value)可以为对象添加新的响应式属性。使用这个方法你就可以为student对象添加phone属性的数据更新并且使其能被Vue.js检测到例子:this.set(this.student, ‘phone’, ‘123456789’); 14.在 vue 中使用 watch,如果要同时检测多个属性该如何做? 在 Vue 中watch 选项使你可以监听特定的数据源并在其变动时执行函数。如果你要同时检测多个属性的变化有两种方式可以实现 1).逐一声明: 你可以为每一个属性分别声明一个 watch 函数 watch: { property1: function (newVal, oldVal) { // do something }, property2: function (newVal, oldVal) { // do something }, // …以此类推 } 2).合并检测: 如果你需要在多个属性发生变化时执行相同的操作或者这些属性的变化都会影响到同一份数据你可以使用计算属性 computed 将这些属性合并起来检测。 例如如果你面临的情况是“当 property1 或 property2 发生改变时都需要执行处理逻辑”那么可以将这两个属性组合成一个计算属性然后用 watch 来监听这个计算属性 computed: { combinedProperty: function () { return this.property1 this.property2; } }, watch: { combinedProperty: function (newVal, oldVal) { // do something } } 3).还有一种使用依赖注入的方式来监听多个属性的变化。可以创建一个 watch 对象将需要监听的属性包含在这个对象中然后 watch 这个对象。 一旦这个对象中的任何一个属性值改变都会触发 watch 函数。这在某些情况下例如多个属性一起决定某个行为可能是有用的。 data() { return { obj: { prop1: ‘’, prop2: ‘’, prop3: ‘’ } } }, watch: { obj: { handler: function(newVal, oldVal) { // 这里的 newVal 和 oldVal 都是 obj 对象的新旧状态 // 这个函数会在 obj 对象的任何属性改变时调用 }, deep: true // 必须指定 deep 为 true表示这是一个深度观察 } }
http://www.zqtcl.cn/news/678519/

相关文章:

  • 深圳网站建设公司jm3q编程网站免费中文版
  • 泉州专门制作网站如何在小红书上做推广
  • 网站改版活动微网站开发一般费用多少钱
  • 网站关键词挖掘顺德网站制作案例价位
  • 广广东网站建设企业网站无锡
  • 广州网站备案号wordpress模板专题页
  • 西安做网站哪里价格低综合查询
  • 电商需要多少投入沈阳网站关键词优化
  • 速拓科技是做网站百度推广登陆入口官网
  • 十大高端网站设计网站开发培训达内
  • 河北云网站建设怎么让别人找你做网站
  • 怎么自己在电脑上做网站网络服务有哪些与对生活的影响
  • asp网站采集和平东路网站建设
  • 深圳市 交易建设中心网站越南的网站建设
  • 微网站建设方式构建网站系统
  • 优秀网站的要素有公司名字寓意好的字
  • 学习型网站空间网站模板免费下载酒店管理系统
  • icp备案网站用不了备案期间关闭网站
  • 上海电子门户网站建设数据公司签约网站
  • 北京品牌高端网站建设公司天津最好的网站建设公司
  • 网站开发中文摘要当今做啥网站致富
  • 钓鱼网站制作方法WordPress音乐免刷新
  • 北京网站建设的公网站订票策划方案
  • 做搜狗网站快速排名福田瑞沃自卸车
  • 帮人做图挣外快的网站做网站刷流量挣钱吗
  • 网站改版被降权从0到建网站
  • dedese网站牛客网官网
  • 网站到期续费要多少钱如何做一个电商
  • 试述网站建设的步骤石家庄公司网站如何制作
  • 百度推广自己做网站吗韶关东莞网站建设