获得徽章 15
#每天一个知识点#
SQL注入:
是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗数据库服务器执行恶意的SQL命令,从而达到和服务器进行直接交互的目的。
预防方案:
1. 后台进行输入验证,对敏感字符过滤
2. 使用参数化查询,能避免拼接SQL,就不要拼接SQL语句。
#每天一个知识点#
使用js生成1-10000的数组的方法
// 方法1:
Array.from(new Array(10001).keys()).slice(1)
// 方法2:
Array.from([length:10000],(node,i)=> i+1)
#每天一个知识点#
Object.is和= ==有什么区别?
Object.is在严格等于的基础上修复了一些特殊情况下的失误,具体来说就是+0和-0,NaN和NaN。
#每天一个知识点#
小程序页面间有哪些传递数据的方法?
1. 使用全局变量实现数据传递
2. 页面跳转或重定向时,使用url带参数传递数据
3. 使用组件模板 template传递参数
4. 使用缓存传递参数
5. 使用数据库传递数据
#每天一个知识点#
大佬们,echarts的桑基图如何设置开启鼠标缩放功能?。?
#每天一个知识点#
大佬们,antd vue 上传文件时有单次请求自动上传多个文件的方法吗?
#每天一个知识点#
为什么直接在script标签中写 export 会报错?
现代浏览器可以支持用 script 标签引入模块或者脚本,如果要引入模块,必须给 script 标签添加type=“module”。如果引入脚本,则不需要type。
#每天一个知识点#
CSS优化、提高性能的方法有哪些?
避免过度约束
避免后代选择符
避免链式选择符
使用紧凑的语法
避免不必要的命名空间
避免不必要的重复
尽量使用表示语义化命名
尽量避免!important
尽可能的精简规则,合并不同类里的重复规则
#每天一个知识点#
z-index属性在什么情况下会失效?
1. 父元素position为relative时,子元素的z-index失效。解决: 父元素position改为absolute或static :
元素没有设置position属性为非static属性。
解决: 设置该元素的position属性为relative、absolute或是fixed中的一种。
2. 元素在设置z-index的同时还设置了float浮动。
解决: 去掉float,改为display: inline-block;
#每天一个知识点#
CSS匹配规则顺序是怎么样的?
CSS匹配是右向左的。
CSS匹配发生在Render Tree构建时(ChromeDev Tools将其归属于Layout过程)。此时浏览器构建出了DOM,而且拿到了CSS样式,此时要做的就是把样式跟DOM上的节点对应上,浏览器为了提高性能需要做的就是快速匹配。
首先要明确一点,浏览器此时是给一个“可见"节点找对应的规则,这和jQuery选择器不同,后者是使用一个规则去找对应的节点,这样从左到右或许更快。但是对于前者,由于CSS的庞大,一个
cSS文件中或许有上干条规则,而且对于当前节点来说,大多数规则是匹配不上的,稍微想一下就
知道,如果从右开始匹配(也是从更精确的位置开始),能更快排除不合适的大部分节点,而如果从左开始,只有深入了才会发现匹配失败,如果大部分规则层级都比较深,就比较浪费资源了。
除了上面这点,我们前面还提到DOM构建是"循序渐进的",而且DOM不阻塞Render Tree构建(只有CSSOM阻塞),这样也是为了能让页面更早有元素呈现。
考虑如下情况,如果我们此时构建的只是部分DOM,而CSSOM构建完成,浏览器就会构建Render Tree。
这个时候对每一个节点,如果找到一条规则从右向左匹配,我们只需要逐层观察该节点父节点是否匹配,而此时其父节点肯定已经在DOM上。但是反过来,我们可能会匹配到一个DOM上尚未存在的节点,此时的匹配过程就浪费了资源。
下一页