Wing Meng
Wing Meng
既然题目中用了 `let` ,那我就不客气了,ES6 直接用起。:tada: 主要原理是数组的 `splice` 操作,然后是处理各种边界情况。 封装了一下,使用链式调用,使方法看起来更语义化。 ---- ``` js let arr = [0, 1, 2, 3, 4, 5]; // 返回对应索引的数组项 Array.prototype.index = function(index) { if (!(typeof index !==...
#### 第 1 题: ```js var backCode = '6222081812002934027'; // 方法1 var result = backCode.replace(/(\d{4})/g, '$1 '); console.log(result); // "6222 0818 1200 2934 027" // 方法2 var result = backCode.split(/(\d{4})/).filter(s...
- #### 方案一:flex + clip-path [> Demo li { display: flex; align-items: center; height: 40px; padding: 0 2em; margin-left: -13px; /* 15px - 13px = 2px(间隙) */ font-size: 14px; color:...
> 有个很奇怪的现象,在最新chrome上面(低版本没有这个问题),设置了`::first-line`的`color`属性会导致`inline-block`的背景色失效,算不算bug? 确实如此
首先想到了用 `display: table` 方案,但几经尝试没 hold 住,后改用 float 实现:[> 在线 Demo 1. 为了兼容 IE8 下右浮动元素与非浮动元素的对齐,HTML 标签顺序未能与可视效果相一致(界面显示上标题在前,标签在后,而 HTML 代码中标签在前,标题在后); > 2. 第 2 题,宽度不足时会截断标题文本,其他浏览器是从左侧开始截断的(符合题意),而 IE(8~11)下是从右侧开始截断的。 ```html 都市 连载中 54.82万字 这次是一个新的故事。浩劫余生,终见光明 都市 完本...
#### 第 1 题: ```js document.getElementById('loginForm'); // 方法1:经典的 id 选择器 document.querySelector('#loginForm'); // 方法2:万能的 querySelector document.forms.loginForm; // 方法3:表单原生方法,还可以写作:document.forms['loginForm'] loginForm; // 方法4:标签的 id 可以直接当变量来用 ``` #### 第 2 题: 1. form 标签添加...
[> 在线 DEMO
#### 第 1 题: ```js // 方法1:利用 RegExp 的零宽断言 str = str.replace(/fill="(?!none)[^"]+"/gi, ''); // 方法2:先用 RegExp 通用判断,然后 replace 函数进一步判断 str = str.replace(/fill="([^"]+)"/gi, function($0, $1) { return $1.toLowerCase() === 'none' ?...
| | Chrome | Firefox | IE11 | |--------------------|--------|---------|------| | `0.6.toFixed(0)` | 1 | 1 | 1 | | `1.6.toFixed(0)` | 2 | 2 | 2 | | `0.035.toFixed(2)` |...
#### 第 1 题: ```js var xhr = new XMLHttpRequest(); // 上传进度(监听 upload 的 onprogress 事件) xhr.upload.onprogress = function(e) { var percent = e.loaded / e.total * 100 console.log('上传进度:' +...