Rock
                                            Rock
                                        
                                    > 大佬这些题是怎么弄到的呀 网友分享和投稿的,哈哈,欢迎分享题目哈!
### 解答:从低位开始相加 - 从 num1 ,num2 的尾部开始计算,模拟人工加法,保存到 tmp 中; - 计算 tmp 的个位数,并添加到 result 的头部,这里的 result 是 string 类型,不是 number 类型; - 计算进位,改成 tmp,进行下次循环 - 索引溢出处理:循环结束,根据 tmp 判断是否有进位,并在 result 头部添加进位...
我们单纯地看看TCP协议的不足和UDP的一些优点: - 基于TCP开发的设备和协议非常多,兼容困难 - TCP协议栈是Linux内部的重要部分,修改和升级成本很大 - UDP本身是无连接的、没有建链和拆链成本 - UDP的数据包无队头阻塞问题 - UDP改造成本小 从上面的对比可以知道,谷歌要想从TCP上进行改造升级绝非易事,但是UDP虽然没有TCP为了保证可靠连接而引发的问题,但是UDP本身不可靠,又不能直接用。  综合而知,谷歌决定在UDP基础上改造一个具备TCP协议优点的新协议也就顺理成章了,这个新协议就是QUIC协议(即http3.0)。
``` // 因为和深度无关,所以说最简单可以这样 function flatten(arr){ var res = arr.join().split(','); res = res.map( ele => +ele) return res; } // 还有吗,递归,写一下 function flatten(arr){ var array = []; arr.forEach(ele => { if(Array.isArray(ele)){...
### 极简数学解法,运用JavaScript位运算 **解题思路** - result * 10 + x % 10 取出末位 x % 10(负数结果还是负数,无需关心正负),拼接到 result 中。 - x / 10 去除末位,| 0 强制转换为32位有符号整数。 - 通过 | 0 取整,无论正负,只移除小数点部分(正数向下取整,负数向上取整)。 -...
答案: ``` function add(){ var args = [...arguments]; var fn = function(){ args.push(...arguments); return fn; } fn.tostring = function(){ return args.reduce((x,y) => x + y) } return fn; } console.log(add(1,2));...
1、使用DOM没有判空; 2、id和变量名不应该使用html标签,命名不规范; 3、不能对为空或null的dom使用innerHTML属性; 4、appendChild()方法的参数不能是空或null; 可以在浏览器运行一下,看一下报错!
### 一、什么是虚拟Dom 从本质上来说,Virtual Dom是一个JavaScript对象,通过对象的方式来表示DOM结构。将页面的状态抽象为JS对象的形式,配合不同的渲染工具,使跨平台渲染成为可能。通过事务处理机制,将多次DOM修改的结果一次性的更新到页面上,从而**有效的减少页面渲染的次数,减少修改DOM的重绘重排次数,提高渲染性能。** 虚拟dom是对DOM的抽象,这个对象是更加轻量级的对DOM的描述。它设计的最初目的,就是更好的跨平台,比如Node.js就没有DOM,如果想实现SSR,那么一个方式就是借助虚拟dom, 因为虚拟dom本身是js对象。 在代码渲染到页面之前,vue或者react会把代码转换成一个对象(虚拟DOM)。以对象的形式来描述真实dom结构,最终渲染到页面。在每次数据发生变化前,虚拟dom都会缓存一份,变化之时,现在的虚拟dom会与缓存的虚拟dom进行比较。 在vue或者react内部封装了diff算法,通过这个算法来进行比较,渲染时修改改变的变化,原先没有发生改变的通过原先的数据进行渲染。 另外现代前端框架的一个基本要求就是无须手动操作DOM,一方面是因为手动操作DOM无法保证程序性能,多人协作的项目中如果review不严格,可能会有开发者写出性能较低的代码,另一方面更重要的是省略手动DOM操作可以大大提高开发效率。 ### 二、为什么要用 Virtual DOM **1.保证性能下限,在不进行手动优化的情况下,提供过得去的性能** 看一下页面渲染的一个流程: - 解析HTML ☞ 生成DOMevergreen_tree ☞ 生成 CSSOM ☞ Layout ☞ Paint ☞ Compiler 下面对比一下修改DOM时真实DOM操作和Virtual DOM的过程,来看一下它们重排重绘的性能消耗:...
### 代码 ``` /** * @param {number[]} arr * @return {number} */ // 方法1 暴力解 var sumOddLengthSubarrays = function(arr) { // let s = arr.reduce((n,m) => n + m); let...
``` function check(url){ if(/^https?:\/\/w+\.qq\.com[^.]*$/.test(url)){ return true; }else{ return false; } } check('http://www.qq.com') // true check('http://www.qq.com.cn') // false check('http://www.qq.com/a/b') // true check('http://www.qq.com?a=1') // true check('http://www.123qq.com?a=1') // false check('http://www.baidu.com?redirect=http://www.qq.com/a') // false ```