Sym - 一个用 Java 实现的现代化社区平台 • 源码注册

Pipe - 小而美的开源博客平台 • 体验皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

0 篇文章

数组方法 `map()` 和 `forEach()` 有什么区别?

2019-01-18 回答这两种方法都是对数组中的元素进行迭代。map() 通过每个元素的回调函数将其映射到新的元素上,最终返回一个新的数组。forEach() 虽然也为每一个元素准备了回调函数,但却不返回新的数组。forEach() 在每一次迭代的使用中都会产生副作用,因此 map() 是编程技术中常用的方法。加分回答如果你需要迭代一个数组,使其本身发生变化且不需要返回一个新数组时,可以使用 forEach()

`0.1 + 0.2 === 0.3` 的计算结果是什么?

2019-01-17 回答他的计算结果为 false,因为 JavaScript 中的 Math 遵循 IEEE754 标准使用了 64 位的浮点数。简言之:计算机使用二进制来存储小数,而大部分小数转换成二进制后都是无限循环的值,因此需要进行取舍,这样一来在进行十进制计算时就会导致精度丢失。0.1+0.2//0.30000000000000004 要解决精度问题,可以通过以下函数对误差进行忽略:constapproxEq

生成一个包含 n 项的斐波那契数列

2019-01-16 回答初始化一个长度为 n 的空数组。使用 Array.prototype.reduce() 将计算结果添加到数组中。计算结果为最后两个值相加之和,应注意前两个值除外。constfibonacci=n=>[...Array(n)].reduce((acc,val,i)=>acc.concat(i>1?acc[i-1]+acc[i-2]:i),[]) 返回总目录每天 30 秒

JavaScript 中的真值和假值是什么?

2019-01-15 回答一个值是真值(truthy)还是假值(falsy)具体取决于他在布尔上下文中的计算方式。假值意味着布尔上下文中转换后为假的值,真值意味着布尔上下文中转换后为真的值。本质上,当他们在执行某些操作时他们就会被强制转换为 true 或 false。JavaScript 中有以下 6 个假值:falseundefinednull"":空字符串 NaN0:包含 - 0 和 + 0 除上面以外的其他所有值都被认为

JavaScript 的表达式和语句有什么区别?

2019-01-14 回答 JavaScript 有两种主要的语法:表达式和语句。还有一种是表达式语句,即在语句中写入表达式。可表述为:表达式:产生一个值语句:执行一个操作表达式语句:产生一个值并执行一个操作一般的经验法则:如果他有输出值或者可以把他赋值给一个变量,那么他就是一个表达式。否则就是一个声明。语句 letx=0functiondeclaration(){}if(true){} 语句作为指令可以显示

介绍事件委托及其优点,并说明如何使用?

2019-01-13 回答事件委托是将事件委托给单个共同祖先的技术,这和事件冒泡相关。事件能在 DOM 树上进行冒泡是由于每一个祖先元素依次向上直至根节点所执行的回调都可能被监听到。DOM 事件提供了关于元素的有用信息:通过 Event.target 可以获取触发事件的元素。这允许父元素像目标元素监听事件一样去处理事件,而不是去监听处理父元素的所有子元素或单独处理父元素本身。事件委托有如下优点:不仅能提高性能,

CORS 是什么?

2019-01-12 回答 CORS(Cross-OriginResourceSharing)跨域资源共享使用额外的 HTTP 头来告诉浏览器,此站点已被授权可以访问来自服务器指定的不同域的资源。从 http://mydomain.comWeb 应用程序中使用 Ajax 请求 http://yourdomain.com 资源就是一个跨域请求的例子。出于安全考虑,浏览器会阻止 JavaScript 发起的 HTTP 跨源请求。X

JavaScript 中如何对比两个对象?

2019-01-11 回答使用 == 或 === 对两个不同却具有相同属性及属性值的对象进行比较,他们的结果却不会相等。这是因为等号比较的是他们的引用(内存地址),而不是基本类型。为了测试两个对象在结构上是否相等,需要一个辅助函数。他将遍历每个对象的所有属性,然后测试他们是否具有相同的值,嵌套对象也需如此。当然,也可以使用参数来控制是否对原型链进行比较。注意:此代码只对普通对象、数组、函数、日期和基本类型的数

如何克隆一个 JavaScript 对象?

2019-01-10 回答使用扩展运算符... 可将对象自身的枚举属性复制到新对象中。但这只能进行浅拷贝,如:constobj={a:1,b:2}constshallowClone={...obj} 使用这种技术将会忽略原型链。此外,嵌套对象并不会被克隆,只是复制了他们的引用,因此浅拷贝后嵌套对象和原始对象仍然指向同一个对象。加分回答克隆还可以使用以下几种方法:JSON.parse(JSON.string

请举例说明什么是回调?

2019-01-09 回答回调函数作为实参传入另一个函数内,当某种事件被触发或某些任务被完成时会在外部函数内被调用,通常用于异步编程。由于回调函数会被后来的代码所调用,因此在初始化的时候应注意先声明但不调用。当特定的事件发生时,事件监听器的异步回调才会被执行。如:document.addEventListener("click",()=>{console.log("Theuserclickedonth

根据食谱和已有食材计算可烹饪的最大次数

2019-01-07 题目 /** 请按要求实现 `batches(recipe,available)` 函数:1. 含有 2 个参数,第一个为食谱对象,第二个为已有食材对象 2. 返回可烹饪的最大次数 3. 以下代码执行时,需返回正确结果且运行过程中无异常 *///return0batches({milk:100,butter:50,flour:5},{milk:132,butter:48,flour:51})batche

`Promise` 有哪些状态?

2019-01-06 回答 Promise 对象用于表示一个异步操作的最终状态(完成或失败)及其返回值。他有以下几种状态:pending:初始状态,完成或失败状态的前一个状态 fulfilled:操作成功完成 rejected:操作失败 pending 状态的 Promise 对象会触发 fulfilled/rejected 状态,在其状态处理方法中可以传入参数 / 失败信息。当操作成功完成时,Promise 对象的 then 方

等于操作符 `==` 和 `===` 有什么区别

2019-01-04 回答三个等号 === 表示严格相等,也就是说类型和值都必须相同。两个等号 == 会使其中一边的类型进行强制转换,使等号两边的类型都相等后再对数值进行比较。加分回答尽量使用全等操作符。因为其没有隐式转换,这样结果会比较容易预测、计算也会比较快除了等于操作符,还可以使用 Object.is 进行同值比较。他有着自己的特殊用途,不应说他更宽松或更严格于其他等于操作符附表一张 xy=====Objec

2018 VS 2017 前端使用数据对比

JavaScriptis 总在变化。新的库,新的框架,新的语言。。。虽然都在朝着更好的方向努力,但回想自己维护的项目和前端进化史,真的是一把辛酸泪。所以我希望不断变化的他们可以加快 WebComponent 的步伐。PS:今年没有 CSS 这一块的数据,我表示很伤心,是因为 CSSinJS 的争论么?JavaScript 当谈论 JavaScript 时,你不仅仅是在谈论一个单一的语言,而是关于这个语言的很多东西。开发

2017 VS 2016 前端使用数据对比

JavaScript 生态系统比以前更加丰富,即使是最有经验的开发人员,在考虑各个阶段可用的众多选项时也会犹豫。这就是调查所在的地方:我们向全世界超过 28,000 名开发人员提出了 100 多个问题,涵盖了从前端库到后端框架。我们相信,结果是目前可用的 JavaScript 状态的最完整的图片,我们很高兴与您分享!附:如果所有这些数据让你倍感压力,我相信今年你一定会大踏步前行。JavaScript 预编译当谈论 J

JS 查看三角套利(币币交易)是否有赚头

概念币币交易用一种数字资产去直接换取另一种数字资产,中间不涉及任何法币结算,就是我们所说的币币交易。如 OKEX 币币交易或者火币币币交易三角套利用两个市场(比如 MANA/USDT,BTC/USDT)的价格相除计算出 MANA/BTC 价格,如果该价格和实际的 MANA/BTC 价格不一致,那么就可以从中赚取差价。案例注:由于人民币无法直接兑换为数字货币,因此我们选用价格稳定的 USDT 替代 CNY。使用 MANA、

JS Emoji 过滤

想用的直接看最后一行就好基础知识不得不承认阮蜀黍的文笔通俗易懂字符编码笔记:ASCII,Unicode 和 UTF-8Unicode 与 JavaScript 详解 EmojiUnicodeTablesEmoticons(1F601-1F64F)Dingbats(2702-27B0)Transportandmapsymbols(1F680-1F6C0)Enclosedcharacters(24C2-1F251)