weixin_39851261
2020-12-08 21:06班会第 44 期
放假了, 过年咯, 一转眼时间, 一年过去了, 希望同学们在班集体中有所收获, 学有所长, 术有专攻, 学以致用.
感谢大家一年来的支持, 提前祝同学们新年快乐.
留给大家一些寒假作业, 别光记着抢红包哦 * 2016 总结 * 今年我够努力吗? 对自己的表现满意吗? * 在哪些地方进步了? 哪些地方其实我还可以做得更好? * 解决了哪些难题, 做出了什么成绩? * 2017 计划 * 明年我打算怎么突破瓶颈? * 有什么目标? * 如果完不成目标, 是不是应该请大家撮一顿?
-
技术
-
- 对于 px 这个单位值,在不改变原点的前提下,背景图片的定位是通过图片的左上角开始计算与容器左上角的距离
- 如果是14% 84%的这个值,那么就把背景图片的14% 84%的坐标点,放置在容器的14% 84%的坐标点位置
With a value pair of ‘14% 84%’, the point 14% across and 84% down the image is to be placed at the point 14% across and 84% down the padding area.
background-position: 10% 20%
如果说还是以左上角为原点来计算位置的,我们这个时候应该是觉得背景图片的位置是 50px 100px 的位置(10% * 500px 20% * 500px), 但事实上却不是这样的,结合 w3c 官网文档中提到的,还要去用这个百分比的值计算背景图的坐标,也就是背景图的 5px 10px(10% * 50px 20% * 50px)这个点是坐标点, 所以,我们再放大截图可以看到效果是这样的:
-
- background-color
- background-image
- background-position
- background-attachment
- background-repeat
space
根据背景图片的大小,然后通过计算容器的大小来平铺背景,多余的部分用空白来填充,这样的平铺方式是不会出现图片被截成一半的情况round
根据背景图片的大小,然后通过计算容器的大小,压缩图片来填充容器,这样的平铺方式也是不会出现图片截成一半的情况,不过跟background-repeat: space;
不同的是这种填充方式不会出现空白的区域,而是会去压缩图片的大小来适应容器- background-size 值是针对容器的
- contain 等比缩放,以最大的尺寸填充到容器中,但不一定会撑满容器,而出现背景图片显示不全的情况
- cover 等比缩放,以最小的尺寸填充到容器中,一定会撑满容器,且可能会出现背景图片显示不全的情况
- background-origin
- border-box
- padding-box
- content-box
- background-clip
- 多背景
-
在移动端中所谓的用 rem 做自适应,其实并非是自适应,我觉得更应该是响应式。根据不同的设备分辨率等数据,通过 JavaScript 来改变 html 中的 font-size,从而影响 DOM 节点中有 rem 单位的属性。
目前国内大家用的比较多的是阿里无线的那个 Flexible, 在大漠的博客中也提到了,这个 Flexible 主要的事情是这些:
- 动态改写
<meta>
标签; - 给
<html>
元素添加data-dpr
属性,并且动态改写data-dpr
的值; - 给
<html>
元素添加font-size
样式,并且动态改写font-size
的值;
所以,别再说什么自适应了,更应该是响应式。如果不是用这个 Flexible 的话,我们平时也就是根据项目的具体情况,然后通过
` 来改变
html标签的
font-size` 而已。 - 动态改写
-
在 JavaScript 中, 如何让一个对象是不可变的? 即 immutable, 让这个对象只读, 不可以被修改, 被覆盖. 回想一下 ES5 好像提供了这样一个方法: Object.freeze()
-
HTML 转义防止被 XSS 注入
如果在页面中使用字符串拼接来输出要渲染的 HTML 内容, 很容易被注入, 因此建议前端做一些转义, 但关键还是后端要做数据的清理, 不要相信前端的任何输入. 俗话说的好: 有输入的地方, 就有可能被注入
HTML-encoding in JavaScript/jQuery
javascript // jQuery version function htmlEncode(html){ // create a in-memory div, set it's inner text(which jQuery automatically encodes) // then grab the encoded contents back out. // The div never exists on the page. return $('<div></div>').text(html).html(); } // <script>alert(1)</script> htmlEncode('<script>alert(1)</script>'); <p>// non-jQuery version function htmlEncode(html){ return document.createElement('a') .appendChild(document.createTextNode(html)) .parentNode.innerHTML; } // <script>alert(1)</script> htmlEncode('<script>alert(1)</script>'); </p>
-
如何完全覆写一个 HTML 页面的内容
javascript document.open(); document.writeln('new doc'); document.close();
-
ECMAScript 2015 is an ECMAScript standard that was ratified in June 2015.
ES2015 is a significant update to the language, and the first major update to the language since ES5 was standardized in 2009.
A detailed overview of ECMAScript 2015 features. Based on Luke Hoban's es6features repo.
Be sure to try these features out in the online REPL.
ECMAScript 2015 Features
- Modules
- Classes
- Let + Const
- Template Strings
- Enhanced Object Literals
- Arrows and Lexical This
- Default + Rest + Spread
- Promises
- Math + Number + String + Object APIs
- Map + Set + WeakMap + WeakSet
- Symbols
- Proxies
- Reflect API
- Destructuring
- Iterators + For..Of
- Generators
- Subclassable Built-ins
- Binary and Octal Literals
-
JavaScript ES6 核心功能一览(ES6 亦作 ECMAScript 6 或 ES2015)
自从 1995 年 JavaScript 诞生以来,它一直在缓慢地发展。每隔几年就会增加一些新内容。1997 年,ECMAScript 成为 JavaScript 语言实现的规范。它已经有了好几个版本,比如 ES3 , ES5 , ES6 等等。
所有现代浏览器和环境都已支持 ES6
核心 ES6 功能
- 变量的块级作用域:
let
const
- 模板字面量/多行字符串: 反引号 (`) 和字符串插值
${}
- 解构赋值
- 类和对象和继承
class
extend
super
- 箭头函数
- 原生 Promises
new Promise((resolve, reject) => {});
- for…of
for (const element of array) {}
- 默认参数/剩余参数/展开运算符
function point(x = 0, y = -1, isFlag = true){}
Math.max(...[2,100,1,6,43])
- 变量的块级作用域:
-
架构痛点痒点一览 * SPA好复杂,我还是喜欢传统的多页应用怎么破?又或是,我司项目需要后端渲染,页面模板怎么出? * 每个页面相同的UI布局好难维护,UI稍微改一点就要到每个页面去改,好麻烦还容易漏,怎么破? * 除js外的资源如css/less、图片、swf、字体等,要怎么打包呢?不然老是要外部引用,迁移、部署起来都好麻烦呢。 * 某些年久失修的jQuery插件怎么在webpack里使用呢? * 能不能整合进ESLint来检查语法? * 能不能整合postcss来加强浏览器兼容性? * 部署代码的时候如何清除用户浏览器遗留下来的上个版本的缓存?
-
掘金 2016: 移动端版本发版 50 余次/Web 端迭代 500 余次
- 年度最受欢迎的 10 个标签
- 年度最优秀的 10 位原创作者
- 年度最优秀的 10 位联合编辑
- 年度最受欢迎的 6 篇文章
- 总榜
- Android
- iOS
- 前端
- 后端
- 年度最受欢迎的 6 个收藏集
- 年度最受欢迎的 6 篇翻译计划文章
- 年度最受欢迎的 6 期沸点
-
产品
-
The Apple UI Design Resources include Photoshop and Sketch templates, and other UI materials for quickly designing iOS apps
该提问来源于开源项目:f2e-journey/xueqianban
- 点赞
- 回答
- 收藏
- 复制链接分享
4条回答
为你推荐
- 菜鸟虚心求教,请大神告知
- java
- 4个回答