JS踩坑整理(二)

xiaoxiao2021-02-28  22

js问题整理(二)

IOS端滑动不流畅的问题

在安卓端滑动非常流畅,但是在IOS端,滑动非常卡顿,

OK,很简单,使用overflow-x:auto;谷歌模拟器一切正常,安卓正常,可是打完包在IOS上,滑动效果慢到完全跟随手指的移动而移动,这样是肯定不行的经过百度发现了解决之道;

-webkit-overflow-scrolling: touch;

在body标签中添加ontouchstart

兼容性问题

1.在IE8之下,input里的placeholder里面的值会被直接传递到后台

2.window环境下不会区分路径的大小写,不会有影响,但是在linux环境下会报504的错误

MUI的mui.openWindow使用问题

在这个方法中默认使用nativeui,当你不希望使用这个模块的时候你需要从ma’nifest.json中移除nativeui模块

同时

mui.openWindow({ //运行这个方法需要在mainifest.json中添加一个控件 /*步骤 打开manifest.json-》模块权限配置 添加NativeUI 原生*/ url:'detailPage.html', id:'info', extras:{ aparticle_id:$(".jx_infoImg").attr("aparticle_id"), //文章id aparticle_time:$.attr("aparticle_time"), //时间 aparticle_comment:$(".jx_infoImg").attr("aparticle_comment"), aparticle_commend:$.attr("aparticle_commend"), //点赞数 aparticle_laud:$(".jx_infoImg").attr("laud") }, waiting:{ autoShow:false, //必须 } })

谈谈PC端性能优化的问题

代码层面:避免使用css表达式,避免使用高级选择器 减少全局变量,减少dom操作次数 避免全局查询,多个变量一起声明,避免使用空的src,空的src会重新加载页面,影响速度和效率,避免在html结构中写style标签 利用缓存,使用外部js和css文件以便缓存,添加Expires头,减少DNS查找减少HTTP请求,css合并,图片精灵等技术压缩文件,开启gzip

移动端性能优化

适当的使用touch代替click事件

避免使用css3阴影

少使用float,float在渲染时计算量比较大

尽量使用css3动画

PC端的优化在移动端仍然适用

堆和栈的区别

堆先进先出,栈先进后出

http2.0

采用服务器推的概念,允许服务器主动向客户端缓存推送数据,提高性能提供更多的加密支持采用头压缩,请求和响应的header信息只会占很少的带宽

谈谈你对语义化的理解

当页面样式丢失时页面结构清晰有利于seo优化,有助于爬虫爬取信息提高代码的可读性

Doctype的作用

放在html结构的最前面,高速浏览器以何种方式来解析文档

new的时候都干了啥

创建一个空的对象注入属性和方法

JS的同源策略

同源策略是一种安全协议,协议域名端口想同

为什么要有同源策略

如果没有限制,黑客就能把银行的登陆页嵌套进一个iframe这样的话当你登陆的时候你,对方就能轻松的 获取到你的账号和密码,危险

vue的双向数据绑定

vue中主要采取数据劫持 的方式实现双向数据绑定 通过object。defineProtype来劫持属性的setter和getter

比较vue和react

都使用了虚拟dom,提高了性能

都是组件化的开发模式

vue适合小型的web应用的开发

1 和 Number(1)的区别

var a = 1 是一个常量, 而Number(1) 是一个函数,

当1 === Number(1) 做判断的时候也是拿Number的执行结果进行对比,

cookie是如何在服务器端和客户端进行传递的

在http2.0中添加了服务器推的概念 ,允许服务器主动向客户端缓存推送数据,提高性能

客户端可通过document.cookie = 获取到cookie

在js中进行判断,有的话,通过get或者post推向服务器端

找到:“I love China”中最长的单词,输出各单词的长度

function word(){ var str = "I love china" arr = str.split(" ") //把一个字符串分割成字符串数组。 arr.sort(function(a,b){ return a.length - b.length }) } word()

concat() 方法用于连接两个或多个数组。

XML和json的区别

数据体积 json的体积更小,传递更快数据交互方面 json与js交互更加方便,更容易被解析处理数据描述,json对数据的描述比xml差传输速度,json的传输速度远远快于xml

meta标签的作用

用来指定关于html文档的信息

htm和html

二者是相同的,

很久以前doc的平台有个8.3约束,后缀只能是3个字符,现在已经不存在这个问题了

在linux系统之中打开htm打开的是源码

变量常驻内存会带来什么问题

内存泄漏,在程序结束结束的时候,变量才会被释放

内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。 长期堆积的内存泄漏也将导致内存溢出。内存溢出指没有足够的内存去让程序运行

jsonp

用来处理跨域的一种解决方式

优点:兼容性好,在古老的浏览器中也能运行

缺点:不能够处理POST请求,支支持GET

标准盒模型和怪异盒模型

标准盒模型:一块的总宽高 = width + margin + padding+ border

怪异盒模型:总宽高 = width + maigin(左右))width已经包含padding和border

重排和重绘

重排:修改了元素的宽高,或者其他属性,浏览器需要重新计算元素的几何属性,浏览器会使所渲染书中受影响的部分失效,并且重新渲染树,

重绘:重排完成之后,浏览器会重新绘制受影响部分到屏幕中

变量提升

变量提升的这个概念,只适合变量的声明,并不适用于变量的赋值

正则表达式不能比较,每一个正则表达式都是唯一的

position的默认值是static

转载请注明原文地址: https://www.6miu.com/read-2626489.html

最新回复(0)