文章目录
1.jqurey vue uni-app 微信小程序的传参方式?
- Jquery:
<button id="aa">111</button>
<script type="text/javascript">
var name = '你好'
$(function(){
$('#aa').on('click',{name:name},function(e){
console.log(e.data.name)
})
})
</script>
- Vue:
<button @click="click">click</button>
//传递
routerTo(){
this.$router.push({ name: 'news', params: { userId: 123 }});
}
//接收
{{this.$route.params.userId}}
- Uni-app:
uni.navigateTo({
url:'./nav?index='+navDat
})
- 微信小程序:
wx.navigato({
url:"跳转页面?参数名=参数"
})
2.session和cookie的区别?
- session 在服务器端,cookie 在客户端(浏览器)
- session 默认被存在在服务器的一个文件里(不是内存)
- session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说, 如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现, 比如在 url 中传递 session_id)
- session 可以放在 文件、数据库、或内存中都可以。
- 用户验证这种场合一般会用 session
3.前端如何性能优化?
- 将CSS放在head中
- 减少 HTTP 请求数
- 减少 DNS 查询
- 使用 CDN
- 避免重定向
- 图片懒加载
- 减少 DOM 元素数量
- 减少 DOM 操作
- 使用外部 JavaScript 和 CSS
- 压缩 JavaScript 、 CSS 、字体、图片等
- 优化 CSS Sprite
- 使用 iconfont
- 字体裁剪
- 多域名分发划分内容到不同域名
- 尽量减少 iframe 使用
- 避免图片 src 为空
- 把样式表放在 中
- 把脚本放在页面底部
4.git是什么 git的五个命令 git和svn的区别?
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
五个命令
- git init 把这个目录变成Git可以管理的仓库
- git add . 文件添加到本地仓库
- git commit -m "备注信息"把文件提交到仓库,
- git remote add origin 复制的仓库链接上传到github仓库
- git push -u origin master全部上传
SVN与GIT的区别:
- GIT是分布式的,而SVN是集中式的
- GIT把内容按元数据方式存储,而SVN是按文件:因为git目录是处于个人机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
- GIT分支和SVN的分支不同:svn会发生分支遗漏的情况,而git可以同一个工作目录下快速的在几个分支间切换,很容易发现未被合并的分支,简单而快捷的合并这些文件。
- GIT没有一个全局的版本号,而SVN有
- GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
es5和es6的区别? Es6的新特性
区别
- ES6 解决了核心语言的许多局限性,使开发人员更容易编写代码。
- ES6 增添了许多必要的特性
- ES5中的引用需要先使用require导入React包,成为对象,再去进行真正引用
- ES6里,可以使用import方法来直接实现系统库引用,不需要额外制作一个类库对象
ES6中的新特性
- ES6中的let命令,声明变量,用法和var差不多,但是let是为JavaScript新增了块级作用域,ES5中是没有块级作用域的,并且var有变量提升的概念,但是在let中,使用的变量一定要进行声明;
- ES6中变量的结构赋值,包括对象解构和数组解构以及混合解构,比如:var [a,b,c] = [0,1,2];
- ES6中的函数定义也不再使用关键字function,而是利用了箭头函数=>来进行定义;
- ES6中可以设置默认函数参数,如function A(x,y=9){};
- ES6中新增了Set集合和Map集合;
- ES6新增了一个基本数据类型Symbol;
6.js操作数组的五个方法 字符串转数组? 数组转字符串?
- concat()
功能:连接两个或更多的数组,并返回结果。
注意事项:此方法不会改变现有的数组,而是仅仅会返回被连接数组的一个副本。 - entries()
功能:返回数组的可迭代对象。
注意事项:此方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。并且迭代对象中数组的索引值作为 key, 数组元素作为 value。 - find()
功能:返回符合传入测试(函数)条件的数组元素。
注意事项:find() 对于空数组,函数是不会执行的; find() 并没有改变数组的原始值。 - forEach()
功能:数组每个元素都执行一次回调函数。
注意事项:forEach() 对于空数组是不会执行回调函数的。 - indexOf()
功能:搜索数组中的元素,并返回它所在的位置。
注意事项:此方法将从头到尾地检索数组,看它是否含有对应的元素。 - map()
功能:通过指定函数处理数组的每个元素,并返回处理后的数组。
var arr = [1,2,3]
-
转字符串
var str = arr.join(",") ===> “1,2,3”
arr.join(" * ") ===> “123” -
转数组
str.split(",") === > [‘1’, ‘2’, ‘3’]
7. vue uni-app 微信小程序的数据绑定
- Vue:
MVVM双向数据绑定,v-model - uni-app
{{}} data数据绑定 - 微信小程序:
{{}} data数据绑定
8.bootstrap的class前缀
当使用特定厂商的带有前缀的属性时,通过缩进的方式,让每个属性的值在垂直方向对齐,这样便于多行编辑。
1.超小设备手机(<768px):.col-xs-
2.小型设备平板电脑(>=768px):.col-sm-
3.中型设备台式电脑(>=992px):.col-md-
4.大型设备台式电脑(>=1200px):.col-lg-
9. Vue渲染时闪光问题怎么解决
[v-cloak]{
display:none;
}
10. document.ready和window.onload的区别?
- document.ready方法在DOM树加载完成后就会执行,window.onload是在页面资源(比如图片和媒体资源,它们的加载速度远慢于DOM的加载速度)加载完成之后才执行。
- $(document).ready要比window.onload先执行。