朝花夕拾 - 噫吁嚱,编程人,科技魂(jsliang 陪你瞎叨叨,关于学习求职那些事)

·  阅读 666

Hello 小伙伴们晚上好,欢迎来到 jsliang 的吹水频道,今晚 jsliang 陪你彻夜畅聊~

最近工作比较忙,今晚瞅空写篇文章,本篇文章将会讲述几个观点:

  • 学习划水跳槽涨薪(找工作、学知识)
  • 柴米油盐酱醋茶(过日子)

写完 jsliang 看了两遍,有点说教式,不喜欢看这类的小伙伴可以退出文章了,要不然我也不好意思,哈哈

金三银四跳槽季,有需要内推的小伙伴可以找 jsliang,首推东家金山,然后还有头条、微信、阿里、CVTE 等大佬等你简历。个人联系方式在 GitHub 文档库首页: github.com/LiangJunron…

一 目录

不折腾的前端,和咸鱼有什么区别

目录
一 目录
二 学习划水跳槽涨薪
2.1 场景 1
2.2 场景 2
2.3 学习结论
三 柴米油盐酱醋茶

二 学习划水跳槽涨薪

返回目录

最近和 2 个小伙伴聊天比较有感,我们拉出场景来聊聊:

2.1 场景 1

返回目录

  • 小姐姐:好怕再复习下去就想转行了,感觉做不下去了
  • jsliang:怎么会,你现在不都边面试边学习,然后整理了资料么
  • 小姐姐:但是我感觉好难啊,尤其是碰到一些答 console.log 的,就感觉不知道怎么下手
  • jsliang:你不是看了我那些题目么,按理说能说个三七五来啊
  • jsliang:就好比这道题(截图发题),你尝试讲讲打印什么
  • 小姐姐:enm...

这是 jsliang 比较痛心的一点,总感觉自己的面经害了一批人,有了结论而没有研究过程让小伙伴们缺少了灵魂……

按照我的思维,应该是看到这类题目,自己想一下答案,然后对答案。

如果还不懂,那就在控制台敲一遍代码,尝试理解为什么会有这样子的输出,如果还还是不懂,那就拉到 VSCode 调试看看。

这样思路基本就清晰了啊,90% 的问题都解决了,如果还没解决,那就问问身边大佬(不是 jsliang),也可以得到解答。

但是小姐姐这边复习挺久了,知道有这个问题却一直没有解决它,感觉我很揪心,是不是耽误人家了。

2.2 场景 2

返回目录

  • 小哥:今天看到 XX 大佬的文章,对里面的结论不太理解:
3. loading自定义扩展并不会覆盖

例如:

HTMLElement.prototype.loading = function () {};
img = document.querySelector('[loading]');
img.loading;


我们在 HTMLElement 原型上扩展一个名为 loading 的函数,并不会影响图片元素原生的 loading 属性。

Chrome 下图片的 loading 属性还在

但是,对于不支持的浏览器,例如 Firefox,则明显受到了影响
复制代码
  • jsliang:稍等,这问题我看第一眼也不太确定,中午午休的时候给你安排:

为什么通过原型链的设置,覆盖不了呢?

首先,缕清楚关系:new Image() ---__proto__ ---> HTMLImageElement --- __proto__ ---> HTMLElement

就是它先通过原型链经过 HTMLImageElement 再进入 HTMLElement

然后,我们设置下它的 alt 属性,你会发现一个问题:

HTMLElement.prototype.alt = 'jsliang' // 这步 OK
let img = new Image('http://www.baidu.com') // 这步 OK
img.alt // 这步输出 '' 空字符串
HTMLImageElement.prototype.alt = 'jsliang' // 报错 VM2840:1 Uncaught TypeError: Illegal invocation
复制代码

这个步骤 jsliang 猜测的问题是:虽然我设置了 HTMLElement,但是我调用的时候,我先通过原型链查找 HTMLImageElement,里面有属性,并且属性为空,那原型链查找就中止并返回了啊!

这是其一为啥设置 HTMLElement 没用的原因,其二是 HTMLImageElement 压根不支持设置它的属性,所以虽然设置了 HTMLElement 也没用。

最后,我们设置另一个属性 jsliang,拿来对比问题:

HTMLElement.prototype.jsliang = 'jsliang' // 这步 OK
let img = new Image('http://www.baidu.com') // 这步 OK
img.jsliang // 'jsliang'
HTMLImageElement.prototype.jsliang // 'jsliang'
复制代码

这说明我们设置一个 HTMLImageElement 没有的属性的时候,它通过 HTMLElement,设置到了 HTMLImageElement 上,所以我们到 img 会发现这里可以直接找到 jsliang 了。

所以结论是 XX 大佬可能漏了点,讲 loading 自定义拓展并不会覆盖的时候,其实是 HTMLImageElement 并不支持已有属性的修改(可能某些可以,但是我测试的 altloading 不行)(仅个人观点,不是学术型人才,不做深入探讨)


之所以想要说这个场景,其实更多是希望当你对某某大佬的一个结论产生疑惑的时候,你可以尝试通过各种手段去解决它,而不是非要 “融入” 到这个问题。

将 “结论” 假设为正确性的,会谋害一批又一批的人。

同样,对于 jsliang 这种渣渣写的面经,就更应批判性地阅读。

有时候写的一篇面经,过了几个月,有个小伙伴提出某个题目的代码部分有个问题,然后一查真的是!

于是我看着博客上零零散散的赞(百来左右)和几千的阅读,我在深思前面的人怎么看文章的。

难道看前先赞,已成习惯?

2.3 学习结论

返回目录

个人比较推崇的一种学习态度是:

  • 确定问题
  • 先思考答案
  • 再查看答案
  • 不懂再翻阅相似搜索结果
  • 尝试敲一遍或者调试一下
  • 没辙,问大佬
  • 做笔记,方便下次回顾

在提问之前,可以清晰描述:

  • 大佬,我碰到 XX 问题
  • 然后我想到的可能是出在 XX、XX 上
  • 我尝试了 XX 方式(贴图、show code)
  • 但是失败了,想问下你知道是哪块的问题,有解决方式么?

同样,这种提问方式还可以用来在工作中向上管理:

  • 组长,产品说要做某个功能
  • 然后我搜了下资料,发现有 XX、XX 方案
  • 我尝试了 XX 方案,觉得这个不错
  • 我想用这个方案,请问你还有啥建议么

这是我 Boss 给我的很好的建议,你不能让领导出方案,而是让领导选方案,要不然招你过来做什么的,要不然到时候领导出了个方案你用了回头不满意,你怪领导?

三 柴米油盐酱醋茶

返回目录

虽然已经被问得麻木了,但是还是有人问:

  • 为啥不找女票啊
  • 为啥你没存到钱啊

第一个问题,是我不找吗,是找不到啊!jsliang 又丑又胖又没钱,脾气差自卑不会说话,妹子看不上我所以找不到啊,很合理的解释~

第二个问题,jsliang 还是比较想探讨的,家里有米有缸的大佬也可以评论吐槽下:

  • jsliang 近 3 年工作存了 3W 块

这是事实,生活总有这样那样的开销,然后就花掉了你该有的钱,就好比第一年的第一份工作 5.5k,到手 4.8k,房租 1k 多,吃喝 1k 多,每月交通费,偶尔聚个会,买点家具,搞部 7k 电脑,换部 2k 手机……到头还真没多少。

想着想着脑海里只有一个意识:做多少年才能搞一个广州、深圳、惠州这些地区的首付,现在 26 了,到 30 能成吗?

别看我的来钱方式还有点多:

  • 公众号每月几百 ad 费
  • 云服务器推广
  • 植发推广
  • 红酒推广
  • ……

可我比较佛,没怎么去做,基本随缘。

还有就是想好好做点活,在岗位贡献一把火。

于是也就没来钱多少了,虽然都有渠道的。

也不知道发这个会不会被封文章,就吐槽吐槽,能看到就看到,看不到再说?

浓浓的愁,散不尽的忧,坚信坚信某天还能中个彩票傍个富婆?

其实内心还是想着脚踏实地的吧,就好比 jsliang 已经将学习计划排到 2022 了,等着逐步实践。

—— 我们不是不想思考细节,而是我们坚信自己能走到曙光到来。


by the way,金三银四跳槽季,有需要内推的小伙伴可以找 jsliang,首推东家金山,然后还有头条、微信、阿里、CVTE 等大佬等你简历。

个人联系方式在 GitHub 文档库首页: github.com/LiangJunron…


jsliang 的文档库由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议 进行许可。
基于 github.com/LiangJunron… 上的作品创作。
本许可协议授权之外的使用权限可以从 creativecommons.org/licenses/by… 处获得。

分类:
前端