Weichanglu

你知道的越多,你不知道的越多

JavaScript 中事件上下文中 Target 和 currentTarget 的区别

在事情成功之前,一切总看似不可能。——<纳尔逊·曼德拉> Target 和 currentTarget 的区别 target指触发事件的 DOM 元素。否则,currentTarget 引用事件侦听器正在侦听的 `DOM 元素。 123<ul class="todo-list"> <li class="item">Walk your dog</li......

JavaScript 中的递归,迭代和尾部调用

预测未来最好的方法就是去创造未来。——<亚伯拉罕·林肯> 递归的定义 给定数字的阶乘 n! = n * (n - 1) * ... * 1 是标准示例。 123456function factorial(n) { if (n === 0) { return 1; } return n * factorial(n - 1......

1个灯泡3个开关 谜题

那些疯狂到认为自己能够改变世界的人,才能真正改变世界。——<史蒂夫·乔布斯> 在面试中,有人多次询问了一个灯泡和三个开关难题,以评估候选人的分析能力。 谜题 封闭的房间(没有窗户)中只有一个门,里面有一个灯泡 💡。当门关闭时,您看不到灯泡是打开还是关闭。但是,您可以假设指示灯最初是熄灭的。房间外面有三个电灯开关。开关之一属于房间内的灯泡。您可以根据需要打开或关闭开关,但只可以打......

6的数学 谜题

每天做一件自己害怕的事。——<埃莉诺·罗斯福> 作者:Ashish Lahoti 译者:cl9000 来源:https://codingnconcepts.com/puzzle/the-6s-math-puzzle/ 这是一个纯粹的数学难题,评估你解决数学方程的能力。这是建立数字感的一个大问题。 Puzzle 谜 挑战在于使用常见的数学运算使每个下面的方程式成立。您不能引入任......

JavaScript 中 textarea 自适应高度

创造性就是发明、实验、成长、冒险、犯规、犯错和享受乐趣。 ——<玛丽·卢·库克> 原文链接:https://bdadam.com/blog/automatically-adapting-the-height-textarea.html 简介 textareas有一个大问题:默认情况下,textareas具有固定的高度。您可以设置rows属性以告知应显示多少行,也可以设置其st......

JavaScript 中使用 canvas 元素平移和滚动背景图像

万物皆有其美,但并非人人都能发现。——<安迪.沃霍尔> 用纯JavaScript创建一个简单的2D游戏。作为第一步,展示如何使用canvas元素对背景图像进行动画处理(平移或滚动)。 简单的2D游戏有两种常见方案: 整个关卡都有巨大的背景图片。所有活动都具有相同的背景图像,但是视口的位置在变化 随着播放器的前进,有一个小图像一直在滚动(通常从右向左滚动) 在背景图像内平移视口......

Nginx 重定向

达到完美境界并不是无以复加,而是无可去除。——<安托万·德·圣·埃克苏佩里> 几乎每个网站都需要重定向。许多网站决定通过www和非www网站为他们的访问者提供服务,只是以防用户在浏览器中输入它。 但对于搜索引擎优化来说,当你在两个不同的域名上使用同一个网站时,这就不好了。下面是如何用 Nginx 解决这个问题。 用if语句重定向www到非www 1234567891011serv......

使用 JavaScript 解释区块链(Blockchain)

创造性就是发明、实验、成长、冒险、犯规、犯错和享受乐趣。 ——<玛丽·卢·库克> 作者:Ashish Lahoti 译者:cl9000 来源:https://codingnconcepts.com/javascript/blockchain-explained-using-javascript/ 在本文中,我们将学习如何使用 JavaScript 实现区块链。 环境条件 下......

AngularJS 依赖注入的实现

预测未来最好的方法就是去创造未来。——<亚伯拉罕·林肯> 文章来源:https://bdadam.com/blog/demistifying-angularjs-dependency-injection.html 很多人认为 AngularJS 是如何解析作为函数参数的依赖关系的,这是一种魔法。但这不是什么魔法。我来告诉你,他们是怎么做到的。这种技术可以在任何地方使用,而不仅仅是......

JavaScript 中的事件委托

万物皆有其美,但并非人人都能发现。——<安迪.沃霍尔> 事件委托是一个功能强大的事件处理概念。如果您正在使用jQuery,您可能知道它是jQuery.on()。由于我不再使用jQuery,所以我必须自己编写一个类似的函数。如果您想知道代码是什么样子的? 什么是事件委托 对于事件委托,我们只设置一个事件处理函数,然后该函数分析事件的目标元素并执行预期的处理函数。 这样我们就有了更好......

JavaScript 中计算数组的最大值/最小值

不畏惧失败是创造力的一个基本要素。——<艾尔文·兰德博士> 内置函数Math.max() 和 Math.min() 分别查找参数的最大值和最小值。 12Math.max(1, 2, 3, 4); // 4Math.min(1, 2, 3, 4); // 1 这些函数不能按原样使用数字数组。但是,有一些解决方法。 12345Function.prototype.apply()允许您......

区块链 解释 Blockchain Explained

一个人的价值,应该看他贡献什么,而不应当看他取得什么。 ——<阿尔伯特·爱因斯坦> 作者:Ashish Lahoti 译者:cl9000 来源:https://codingnconcepts.com/post/blockchain-explained/ 我们大多数人认为区块链是比特币背后的技术。虽然这是它最初的目的,但区块链有更多的功能…… 什么是区块链? 区块链是数字的、分......

JavaScript 中在函数参数中使用解构

设计是品牌无声的形象大使。——<兰德·保罗> 在函数参数中使用 ES6 Destructuring Assignment https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 123456var sayHello = function......

JavaScript 中配置属性

达到完美境界并不是无以复加,而是无可去除。——<安托万·德·圣·埃克苏佩里> 可以在 Javascript 中配置对象属性,例如将属性设置为伪私有或只读。这个特性从ECMAScript 5.1开始就可用了,因此所有最新的浏览器都支持它。 要做到这一点,你需要像这样使用Object原型的defineProperty方法: 12345678var a = {};O......

JavaScript 中使用JSON.Stringify

在事情成功之前,一切总看似不可能。——<纳尔逊·曼德拉> 假设存在一个对象,其属性为“ prop1”,“ prop2”,“ prop3”。我们可以将其他参数传递给JSON.stringify,以选择性地将对象的属性写入字符串,例如: 123456789101112var obj = { 'prop1': 'value1', 'prop2': 'value2'......

JavaScript 中Object.is()

不畏惧失败是创造力的一个基本要素。——<艾尔文·兰德博士> 我们都知道JavaScript是松散类型的,在某些情况下,与'=='进行质量比较时,它特别落后。与'=='进行比较会由于强制性或强制转换“转换2的其中之一”而产生了意外的结果。然后将操作数与对方的类型进行比较”。 1230 == ' ' //truenull == undefined //true[1] == true ......

RGB to HEX 在线转换器

RGB-to-HEX-在线转换器 其它 RGB to HEX在线转换器 Pixel to Rem 在线转换器 参考 https://codingnconcepts.com/converter/rgb-to-hex/ 关注【公众号】,了解更多。 ...

CSS 中字体大小的CSS单位 [px em rem]

人生不是一种享乐,而是一桩十分沉重的工作。 ——<列夫·托尔斯泰> 作者:Ashish Lahoti 译者:cl9000 来源:https://codingnconcepts.com/css/font-size-units-px-em-and-rem/ 在本教程中,我们将学习不同的单位来衡量CSS即字体大小px,em和rem,他们之间的分歧,以及何时使用哪一个。 默认字体大小......

Pixel to Rem 在线转换器

Pixel to Rem 在线转换器 其它 RGB to HEX在线转换器 Pixel to Rem 在线转换器 参考 https://codingnconcepts.com/converter/pixel-to-rem/ 关注【公众号】,了解更多。 ...

JavaScript 中ES6函数的默认参数

预测未来最好的方法就是去创造未来。——<亚伯拉罕·林肯> 在许多编程语言中,函数的参数默认是强制性的,开发人员必须显式地定义参数是可选的。在 Javascript中,每个参数都是可选的,但是我们可以利用es6的参数默认值特性,在不破坏函数的实际主体的情况下强制执行此行为。 12345678const _err = function( message ){ throw ......