js面试
js知识点1.常见的值和引用类型值: undefine 字符串 数值 bool symbol 引用: 对象 数组 null 2.深拷贝与浅拷贝对于一种问题,比如对象的引用 let obj1 = obj2 obj1.name = “aa” 那么,obj2的name也会因此改变,这就是浅拷贝 这两个对象实例都是指向的同一块内存空间,如果是深拷贝的话,就不会出现这种问题。深拷贝就相当于是把原对象通过递归的方式,将原对象原原本本的复制过去。这样,这个对象实例就变成了一个独立的个体,有着自己的内存空间。 12345678910111213141516171819202122232425function deepClone(obj={}){ if(typeof obj !== 'object' || obj == null){ // 如果传入的不是对象或者为空的话,那么就给他按原值返回 //因为后面需要递归进行调用,如果遇到值,就可以直接进行赋值 ...
vue
...
面试问题汇总
...
css问题
1.浏览器清除边距失效将清边距的css设置在app.vue组件中,放到最顶部的组件中问题就解决了 2.计算属性calc设置无效原因是==运算符两边需要加上空格==
swiper问题
1.轮播图问题 轮播图无法连播 版本回退,swiper回退到5版本 轮播图拖动后无法连播 autoplayDisableOnInteraction: false 在data配置中,并不能使用文档中的对象形式 目前无解,只能硬写 2.使用方法: cnpm install swiper vue-awesome-swiper@2.6.7 --save 目前这个版本轮播图bug少,建议上2.6.7
element-ui问题
1.对垂直分割线设置高度失效将css设置内容放在该组件的==父组件中== 并不行,其实设置font-size就可以了。。 ####2.el-button长度设置无效 在标签中添加style="width:100%"
this指针指向问题
this指针指向问题确保this是否有效举个栗子,先上一个vscode提示的截图 左边是我在最顶层定义的一个stack,右边是我想对其进行push 通过上边的提示其实就很能看出问题了 如果这还不够明显的话,那么再来一个对照 这个是将this去掉之后的提示 这样是不是就发现这两个能对的上,明显是一个东西 而上面那个明显就不是一个东西 加上this的时候会出现一个报错 Cannot read property 'push' of undefined 我刚开始是以为有这个报错是因为stack中没有push这个属性,我找了其他方式去代替push结果依然是报错,因为根本原因出现在==undefine的不是push,而是stack==因为stack未定义,所以自然而然的没有push这个属性,所以写this的时候要==慎之又慎==
vant weapp
报错 VM1033 WAService.js:2 Component is not found in path 原因是根据vscode的路径提示: 在app.json中 123"usingComponents": { "van-divider": "../static/dist/divider/index" } 然后,我把../换成了./结果就成了??? 不太能理解 然而事实就是这样 123"usingComponents": { "van-divider": "./static/dist/divider/index" }
url问题
前端问题之url问题 问题描述:在想通过this.$router.push('/main')进行路由跳转的时候,出现了main页面一闪而过的情况,具体效果是首先确实跳转到了main页面,其url中多了一个问号,接着就又跳转回了原重定向页面 造成这个问题的原因就是,在使用原生form表单的时候,form表单中的button按钮触发事件的时候,回首先触发一个默认的submit事件,此时会提交一个action,然后会改变掉url,url中就会多出一个?进而导致再次触发重定向 解决方案: 在button标签中设置属性type="button",其在原生form表单中,默认type属性是为submit的 在button标签中<button @click.prevent="login" type="button">login</button>通过vue提供的方法,阻止触发默认的点击事件 手动阻止默认点击事件 将button标签写到form表单外








