kruz

Results 8 comments of kruz

1,首先是展平多维数组。 利用reduce+递归来展平多维数组。 ```javascript function flat(arr) { return arr.reduce(function (prev, curr) { return Array.isArray(curr) ? prev.concat(flat(curr)) : prev.concat(curr) },[]); } ``` 2.然后就是数组去重 数组去重就是可以用new Set的方式, 当然也有很多种其他方式。 合起来写就是 ```javascript function distinct(arr) { return...

```javascript function type(obj) { return /^\[object (\w*)]$/.test(Object.prototype.toString.call(obj)) ? RegExp.$1 : 'unknown'; } console.log(type('hello')); console.log(type(1)); console.log(type(Number(1))); console.log(type({})); console.log(type([])); console.log(type(new Date())); console.log(type(Symbol())); console.log(type(new RegExp())); console.log(type(Math)); console.log(type(window)); console.log(type(null)); console.log(type(undefined)); console.log(type(new Error())); console.log(type(Promise)); ```...

> ```js > function sonversion (str) { > return str.replace(/([A-Z]*)([a-z]*)/g,(match,$1,$2)=>{ > return `${$1.toLowerCase()}${$2.toUpperCase()}` > }) > } > > console.log(sonversion('aaBBCCdd')) > ``` 如果用正则的话,这个比较好function函数被调用的次数要少。上面有个正则是 `/([A-Z]?)([a-z]?)/g`, 没有你这个`/([A-Z]*)([a-z]*)/g`效果好。

按我的理解,js内置的对象就是符合EcmaScript对规范的全局对象,而不是浏览器对象或者nodejs对象,也不应该是函数,据我所知满足这个只有: 1. Math 2. JSON 3. Intl 4. WebAssembly

上面已经说了很多了,我补充下: 1. viewport 基本上只对移动端网页有用,一般移动端的网页我们是这么写的: ```html ``` window.outerWidth 是屏幕宽度,这是固定不变的 。 window.innerWidth 是视口宽度 document.documentElement.clientWidth 也就是标签的宽度。 后面两个值都要根据前面的进行换算。 如何换算? 首先我们要定义个变量`scale``? 根据标签里的 `initial-scale=1, maximum-scale=1 minimum-scale=1`算出来的, 如果不指定这三个默认是1, 我们定义scale表示缩放比,scale默认等于1 meta标签width和height属性都有默认值 width: 默认是 980 / scale, 单位px, 如果设置为device-width,...

清除浮动有如下思路去解决: 1.利用BFC的规则解决高度塌陷,BFC规则里有一条:`浮动元素的高度参与BFC的高度计算`, 因此给父元素触发BFC即可,比如父元素添加`visibility:auto;` 或者`float:left`。 2.利用`clear:both`属性,给父元素最下方添加元素,设置其属性为:`clear:both`, 即可清除浮动, 一般使用伪元素来实现。 3.直接设置父元素的高度(不推荐)。 3种方法最推荐使用第二种使用伪类来实现,最方便,副作用最小。 ````css .clearfix {*zoom: 1;} .clearfix:before,.clearfix:after {display: table;line-height: 0;content: "";} .clearfix:after {clear: both;} ``` 将`clearfix`添加到父元素的class即可。

浏览器内核一般指的是浏览器的渲染引擎,负责显示网页。 Trident (IE) EdgeHtml (Edge 12-18) Gecko (FireFox) Webkit (Safari,Chrome < 28) Blink (Chrome >= 28, Opera > 12.18, Edge新版,一些国产浏览器)、 Presto ( Opera

不借助服务器支持的话: 1. 监听storage事件 2. cookie + setInterval 3. BroadcastChannel (兼容:chrome 54+ ,firefox:38+, Edge 76 +, safari 13, IE尚不支持) 4. SharedWorker