事件代理的意思是,你要为一个元素绑定事件,但你不是直接把事件绑定到这个元素自己身上,而是绑定到这个元素的父元素上。...当子元素的某个事件(比如点击事件)触发时,它的父元素相同的事件也会触发(我们常说的事件冒泡),此时我们说父元素代理了子元素的事件。...button 元素中包含一个齿轮图标: 当用户点击齿轮图标,必然要触发...元素上升到顶层的 document 元素: document.documentElement.addEventListener('click', function (e) { console.log('我被点击了...因为这种情况对于最上层的 document 来说,得知道每个子元素的情况,本来我只需要关心离我最近的 button 元素就可以了。
我就是这样的一个人,23岁才突发奇想:其实我可以学学编程。我并非计算机专业出身,也可以说我的工作跟编程扯不上半毛钱的关系,甚至连电脑都很少接触。可能有人会问:那你学编程有什么用呢?是啊,有什么用?...我不知道学习编程对于我有什么用,或许这一辈子都接触不到相关的工作,或许编程于我只是一个符号,一个程序,一串代码。但是,我知道我得保持一个积极学习新知识的心态,我得锻炼自己接受新事物的能力。...今天的我们是昨天造就的,而明天的我们会成为什么样的人,完全取决于今天我们都干了些什么!所以,不要问有什么用?人生前期越嫌麻烦,越懒得学,后来就越可能错过让你心动的人和事,错过风景。...最后,用凯鲁亚克的《在路上》来结束今天的文章,也希望与你一起共勉:“我要再和生活死磕几年。要么我就毁灭,要么我就铸就辉煌。如果有一天,你发现我在平庸面前低了头,那么请向我开炮。”...我相信:努力不一定能够成功,但一定可以收获成长。
当时我第一次看到这些解释时,不禁倒吸了口冷气,这不会是在说我自己的吧,回想起工作后的这几年,总觉得自己都啥都会了,就好像自己站在愚昧之山而完全不自知。 而把我从愚昧之山推下绝望之谷的,就是写作。...通过这半年来的技术输出,写作让我跌入达克效应的绝望之谷,差点起不来。...就拿我自己写公众号来说,有时候为了写一篇文章,由于知识的欠缺,我需要查阅十几篇资料,还要组织语言,排版,有时能写到深夜一两点。...通过写作,我发现自己对很多知识的掌握并没有自己想像的那么好,于是我就不断的给自己输入,订阅更多优秀的公众号,知识星球,得到专栏,极客专栏,不断地给自己充电。...大佬们都认同一个观点:“利他的事情,长期下去一定会利已”,我也深以为然。我写的公众号目前并没有取得任何成就,看得人也少得可怜,但是读者在慢慢增加,后台交流的人也渐渐增。
为了趁热打铁,我决定提前三天放出原定本周日Release的文章。希望能及时让大家了解一下Kotlin。...那我们接下来看一看Kotlin的特点,当然这也是我改用Kotlin的重要原因。...除此之外,Kotlin也可以编译成Javascript。最近使用Kotlin写了一段抓取proxy的代码,实现起来非常快捷。甚至比纯JavaScript实现起来要快很多。...做个比较现实的比拟,Java就像是一趟从我的家乡保定开往北京西的耗时将近2个小时甚至更长的普通列车,而Kotlin则是那趟仅需40分钟就能到达的高铁。...篡改Python的一句名言“人生苦短,我用Kotlin”,这样一个高效实用的语言应该会被越来越多的团队所接受,并应用到开发生产中。当然也希望在国内环境下大放异彩。
image 前言 为什么要学习JavaScript语法,没有理由,因为工作需要,也为了成为全栈,那现在还是好好努力学习吧!...对于javascript也可以有另一种说法,那就是嵌入式语言,我在学习javascript的时候学的基本语法就那么几个,相信你也会很快掌握并了解,但是如果不去反复 使用,我也保证你也会忘记的吧!...对于JavaScript适用于大型的应用程序中,在学习JavaScript中我们知道的是JavaScript用于浏览器中,对于服务器的要求,那么就要做实际项目了。...现在学习JavaScript也是很好的选择,听说,或者更像是预言JavaScript也可以做各种程序,不限平台。学习JavaScript的语法特性简单易懂,就是在调用外部api的时候要多多下苦工就行。...❤️ 我的目标是——每天不断更 我是简书的达叔小生。
为了趁热打铁,我决定提前三天放出原定本周日Release的文章。希望能及时让大家了解一下Kotlin。...那我们接下来看一看Kotlin的特点,当然这也是我改用Kotlin的重要原因。 语法简单,不啰嗦 Kotlin支持类型推断,没有Java那样的啰嗦。...除此之外,Kotlin也可以编译成Javascript。最近使用Kotlin写了一段抓取proxy的代码,实现起来非常快捷。甚至比纯JavaScript实现起来要快很多。...做个比较现实的比拟,Java就像是一趟从我的家乡保定开往北京西的耗时将近2个小时甚至更长的普通列车,而Kotlin则是那趟仅需40分钟就能到达的高铁。...篡改Python的一句名言“人生苦短,我用Kotlin”,这样一个高效实用的语言应该会被越来越多的团队所接受,并应用到开发生产中。当然也希望在国内环境下大放异彩。
相对于后端的先慢后快,前端是先快后慢,易学难精 选择前端,当然也是因为我算法这方面水平太次了 随意搜索一下“如何才能成为优秀的前端开发工程师”,就能发现前端要学的东西是不可估量的 也正是因为这样,我喜欢挑战
今天要和大家聊一聊事件!先给大家送上几个小概念: 事件:事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。JavaScript与HTML之间的交互是通过事件实现的。...事件流:事件流描述的是从页面中接收事件的顺序。 事件处理程序:响应某个事件的函数就叫做事件处理程序(事件侦听器)。 好啦,概念普及完了,我们要步入正文啦!...首先事件捕获,为截获事件提供机会,然后是目标接收到事件,最后则是冒泡阶段,事件在这个阶段做出响应, 2 事件流的应用——事件代理 了解了什么事件流,大家一定会想,我要把这个东西放在哪里用呢?...:假如说在一个ul中包含了n个li,要想给li添加事件,我们要怎样做呢?循环遍历获取li标签吗?这里我们就可以利用我们的事件流,给父级标签ul绑定事件。这就是事件代理!...:要处理的事件名、作为事件处理程序的函数、true(捕获阶段调用)/false(冒泡阶段调用) 就是先说你要做什么,再说怎么做的,最后说啥时候做的!
从 ES2015 及更高版本开始,对我的代码影响最大的功能是解构、箭头函数、类和模块系统。...问题 由于 JavaScript 的动态特性,一个对象可以具有非常不同的对象嵌套结构。...新版本的 getDirector() 看起来要短得多: function getDirector(movie) { return movie.director?....这就是为什么我喜欢可选链的原因。 2.1 数组项 可选链能还可以做更多的事。你可以在同一表达式中自由使用多个可选链运算符。甚至可以用它安全地访问数组项! 下一个任务编写一个返回电影主角姓名的函数。...我为什么喜欢它? 我喜欢可选链运算符,因为它允许轻松地从嵌套对象中访问属性。它可以防止编写针对访问者链中每个属性访问器上的空值进行验证的样板代码。
作为分布式实施的基础,跨进程通信的技术也是五花八门,为什么Core WebApi越来越火,被众多大牛们一直推荐?小编这就为你一一解答!
那我们来分析一下,当前端需求变化,涉及到改动旧需求时,会有以下这些情况: 「做加法:」 产品需求增加,页面需要增加功能,数据也就相应的要增加显示,那么REST接口也需要做增加,这种无可厚非。...修改旧接口删除冗余数据的方案往往开发人员不会选择,这是为什么呢?...如果能这样做的话,那么后端程序猿小哥可能要开心死了,前端妹子也不用那么苦口婆心地劝说后端小哥哥了。 所以GraphQL隆重出世了!那么问题来了!...我用动图来分别演示下REST和GraphQL是怎么样的一个过程。...是什么让我放弃了restful api?了解清楚后我全面拥抱GraphQL GraphQL执行逻辑 有人会问: 使用了GraphQL就要完全抛弃REST了吗? GraphQL需要直接对接数据库吗?
对此我深有体会,最近我刚换了新的数据科学工作。 为什么有那么多的数据科学家在找新工作呢? 在回答这个问题之前,我想声明的是我仍然是一名数据科学家。...我热爱这份工作,我也不想阻止那些想成为数据科学家的人,因为这份工作有趣,刺激而有价值。本文的目的是向你们介绍这份工作背后不那么光鲜的一面。 从我看来,数据科学家主要出于四个原因对他们的工作感到不满。...当中具体有很多原因,在此我不能一一列举,这里只举出我所遇到的情况。 每家公司情况不同,不能一概而言。...我认为我能对全球各地的人们产生巨大的影响,而不仅仅是在公司内部。事实上,如果公司的核心业务不是机器学习(我的上家公司是媒体出版公司),那么你所进行的数据科学工作可能只会带来少量的价值。...02 决策至上原则 我曾经早上6点起来研究支持向量机。当时我想:“这真的很难,但至少会给我未来的雇主带来价值。“ 但如果我有时光机的话,我会回到过去打消这个念头。
对此我深有体会,最近我刚换了新的数据科学工作。 为什么有那么多的数据科学家在找新工作呢? 在回答这个问题之前,我想声明的是我仍然是一名数据科学家。...我热爱这份工作,我也不想阻止那些想成为数据科学家的人,因为这份工作有趣,刺激而有价值。本文的目的是向你们介绍这份工作背后不那么光鲜的一面。 从我看来,数据科学家主要出于四个原因对他们的工作感到不满。...当中具体有很多原因,在此我不能一一列举,这里只举出我所遇到的情况。 每家公司情况不同,不能一概而言。...我认为我能对全球各地的人们产生巨大的影响,而不仅仅是在公司内部。事实上,如果公司的核心业务不是机器学习(我的上家公司是媒体出版公司),那么你所进行的数据科学工作可能只会带来少量的价值。...决策至上原则 我曾经早上6点起来研究支持向量机。当时我想:“这真的很难,但至少会给我未来的雇主带来价值。“ 但如果我有时光机的话,我会回到过去打消这个念头。 ?
JavaScript 的特性极大地改变了你的编码方式。从 ES2015 开始,对我代码影响最多的功能是解构、箭头函数、类和模块系统。...问题 由于 JavaScript 的动态特性,对象可以有区别很大的嵌套对象结构。...新版本的getDirector()看起来要短得多: function getDirector(movie) { return movie.director?....为什么我喜欢它? 我喜欢 optional chaining 运算符,因为它允许从嵌套对象轻松访问属性。它可以减少通过编写样板文件来验证来自访问器链的每个属性访问器上无效值的工作。...原文:https://dmitripavlutin.com/javascript-optional-chaining/
作为替代,我用 JavaScript 编写了所有的 CSS。 我知道你在想什么:“为什么有人会用 JavaScript 编写 CSS 呢?!” 这篇文章我就来解答这个问题。...为什么我喜欢 CSS-in-JS? 主要是 CSS-in-JS 增强了我的信心。我可以在不产生任何意外后果的情况下,添加、更改和删除 CSS。我对组件样式的更改不会影响其他任何内容。...尤其是我所在的团队从中获取了很大的信心。我不能指望所有团队成员,特别是初级成员,对 CSS 有着百科全书般的理解。最重要的是,截止日期还可能会影响质量。...所有库都支持 auto-prefixing,JavaScript 原生提供了大多数其他功能,如 mixins(函数)和变量。...如果你使用 JavaScript 框架来构建包含组件的 Web 应用程序,那么 CSS-in-JS 可能非常适合。特别是你所在团队中每个人都理解基本的 JavaScript。
第一次看到它时,我的内心戏是:“憋说话,吻我”! 即使是免费的 Babel(JavaScript编译器),也无法阻挡我对函数声明的喜爱。...——那么简单的函数竟然要 3 行!那些多余的字符怎么看都扎眼! 如今你们内心戏大概是: ? 我对箭头函数绝对是真爱,但要声明一个顶级函数时,我仍用“土气”的函数声明。 为什么呢?...都退后,我要开始装逼了 Fair warning:接下来我要放大招了——下文“行话”连篇,但你只要明白在声明之前不能使用常数就好。...JavaScript 中所有声明都是提升(hoist)和绑定的,但初始化的方式各自不同。...若想了解 JavaScript 最新标准 ES 2015 及其各种新功能新亮点,我可以提供免费的入门指南。
react的事件处理会丢失this,所以需要绑定,为什么会丢失this?...In JavaScript, class methods are not bound by default....这句话大概意思就是,你要小心jax回调函数里面的this,class方法默认是不会绑定它的 让我十分疑惑,在我的知识范围理解中,class是es6里面新增的方法,不就用来继承原有对象上的属性和方法创建新的对象吗...就是代替原来的构造函数的一种更清晰的方式,为什么就不会绑定this呢? 可是查阅了一些es6的文档,并不是这样的啊,和class方法没啥关系吧,为什么要它背锅呢?...点我 两者比较,我发现了个区别,原生的绑定方法事件名后面多了个() 于是我尝试着在react里面的事件加一个() render() { return ( <button
您在未来进行的每笔交易都可能使用区块链技术 我的心路历程从“我不追随潮流”变为“我认为区块链技术有潜力”。...2017年初,我开始了这段区块链旅程——我开始看William Mougayar的书《Business Blockchain》。虽然我最初并不了解所有的技术方面——但我对区块链的含义感到震惊。...我将个中的基本含义提取了出来,以节省您的时间。 我为什么要在乎区块链? 区块链技术可能会取代掉你现有的工作!不过不是那个意思,而是您的角色可能会转变为带有其它责任的角色。...其次,问题不在于如何利用这项技术来取代现有的系统,而是要考虑该如何实现超越传统的替代品。理论上,我们可以利用区块链技术支付每笔交易的联邦和州的税金类似于我们如何支付销售/县/市税。...Peck, IEEE Spectrum :《区块链:他们是如何工作的,他们为什么会改变世界》 Naval Ravikant 推特:在区块链网络上的风暴 技术: 来自UC Berkeley的Max Fang
即使是我最心爱的软件项目 Plan 9 也有一些令人痛心的缺陷!对于某些项目,我忍不住想吐槽,但我是出于对它们的喜爱,恨铁不成钢,希望它们能够通过自己的努力赢得大家的尊重。...我曾在我的博客和其他地方多次吐槽 Go,但我也经常在私下里赞美 Go。今天,我想来好好地夸一夸 Go,因为虽然我经常吐槽它,但 Go 仍然是我使用过的最好的编程语言之一,而且我对这门语言充满了敬意。...1 语言魅力 我最欣赏 Go 的地方在于,它能长期保持简单性、稳定性和健壮性。我觉得这些特质比软件设计的其他目标更为重要。...我认为他们最大的成就在于,整个 Go 生态系统的质量都非常高。...总的来说,虽然我经常吐槽 Go,但我还是非常欣赏 Go。我认为 Go 是有史以来最好的编程语言之一。
有趣的是,还有人问了我一个“棘手”的问题:为什么下水道井盖是圆的? 最后,我在开发者体验和宣传部门获得了一个职位,成为了一名位于波兰华沙的受众营销经理。...我还和部门主管进行了一对一的会面,他告诉我不能再做一个叛逆者了,并威胁我要更加小心,因为微软给了我一个“金笼子”,如果我出去,我将要面对残酷的现实。 是的,这句话的意思是:你年轻又活泼,这很酷。...但现在你要冷静下来,永远不要想离开,因为外面的世界会把你活活吃掉,好吗? 与此同时,我也分手了,我很痛苦。但不知何故,我的事业似乎在蓬勃发展。...我甚至无法解释的,对我来说去帮助他们,表现出兴趣,假装去支持他们的所作所为有多么可怕。 你可能会想,为什么我不对他们说实话呢?我试过了。...我告诉我的领导,那一年我不想要任何奖金,因为我在雷蒙德工作,对当地没有什么影响,他应该奖励其他人。 我也不应该得到奖金,我再也不能忍受我的工作了,但仍然没有勇气辞职。
领取专属 10元无门槛券
手把手带您无忧上云