Hello 小伙伴们晚上好,欢迎来到 jsliang 的吹水频道,今晚 jsliang 陪你彻夜畅聊~
最近工作比较忙,今晚瞅空写篇文章,本篇文章将会讲述几个观点:
- 学习划水跳槽涨薪(找工作、学知识)
- 柴米油盐酱醋茶(过日子)
写完 jsliang 看了两遍,有点说教式,不喜欢看这类的小伙伴可以退出文章了,要不然我也不好意思,哈哈金三银四跳槽季,有需要内推的小伙伴可以找 jsliang,首推东家金山,然后还有头条、微信、阿里、CVTE 等大佬等你简历。个人联系方式在 GitHub 文档库首页: https://github.com/LiangJunro...
一 目录
不折腾的前端,和咸鱼有什么区别
目录 |
---|
一 目录 |
二 学习划水跳槽涨薪 |
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
并不支持已有属性的修改(可能某些可以,但是我测试的 alt
和 loading
不行)(仅个人观点,不是学术型人才,不做深入探讨)
之所以想要说这个场景,其实更多是希望当你对某某大佬的一个结论产生疑惑的时候,你可以尝试通过各种手段去解决它,而不是非要 “融入” 到这个问题。
将 “结论” 假设为正确性的,会谋害一批又一批的人。
同样,对于 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 文档库首页: https://github.com/LiangJunro...
jsliang 的文档库由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议 进行许可。
基于 https://github.com/LiangJunrong/document-library 上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处获得。