blog优化记录02
又花了不少时间优化了blog。下面是优化的几个点。
- 优化了分类
你可能会疑惑,我为什么把blog优化当成个人提升,因为我认为blog分类等过程就是把自己的人生进行解构的过程
- 把已有文章简单的分类
一些遗憾:
blog模板本身有些交互有些差强人意,以后动一下底层吧
- 把以前的文章整合了一下
又花了不少时间优化了blog。下面是优化的几个点。
你可能会疑惑,我为什么把blog优化当成个人提升,因为我认为blog分类等过程就是把自己的人生进行解构的过程
一些遗憾:
blog模板本身有些交互有些差强人意,以后动一下底层吧
本文我会尽可能的把面试有关的问题都加入进来,并把学习踩坑的地方告诉大家。(知识点可以点击我给的连接)
instanceof
的原理typeof
的相关问题要理解原型链,那我们就得先理解什么是面向对象,它的三个基本特征:封装、继承、多态_
❗❗❗巨坑注意:一定要区分好继承和实例化的区别,特别是像js这样的基于原型继承的语言,我就踩过😫,导致开始学时特别痛苦。
相信很多同学都或多或少的接触过一定面向对象编程,也清楚的知道面向对象对于编程开发的重要性,那为什么到了JavaScript,我们说到面向对象就得说到原型呢?
这要从JavaScript的源头说起。JavaScript是一种动态类型语言,区别于c++和Java,它实现继承的方法并不是靠类,而是靠原型。
又一个坑:你可能会说ES6中不是有类吗?
其实不然,ES6中的类并不是原生支持的类,而是一个语法糖(底层并不是像c++那样,而是对JS(ES6之前的语法,以下都是这个意思)模拟继承的一种封装,这也是为什么再使用ES6时,我们需要一些工具(babel)来将ES6转换为ES5。
话归原题,那到底什么是原型和原型链呢?这就应该从实例化开始谈起。
这里我就不细说了,可以看阮一峰的教程:面向对象编程 - 实例对象与 new 命令 - 《阮一峰 JavaScript 教程》 - 书栈网 · BookStack
到这里我可以认为你已经知道了构造函数和new的使用,也知道了prototype
理解时,我们可以把原型认为是类。
之前我迷惑的地方
函数为什么是把原型传给对象,而不是本身传给对象?
或者问为什么老是遇见构造函数里有原型,而原型里面又有构造函数
1
2
3
4
5 function Person(name, age) {
this.name = name;
this.age = age;
}
console.log(Person.prototype.constructor === Person); // true答:函数本身就是一种数据类型,它有自己的任务。它来当构造函数相当于就是为了建立一个原型和对象的桥梁,相当于它生产了一个
类
(不严谨),然后把这个类
交给了新的实例。这也就解释了为什么构造函数的原型里面还要加一个构造函数,因为这个构造函数是给新生成的对象用的。
pass
(日后完善)
让我们打开浏览器,按一下f12
,再控制台中输入Object()
,回车。我们就能看见一个空的对象。
这就是JavaScript对象的结构了。
我们先看一下重点,第一个prototype
就是我们一直提到的原型,那为什么又要提到原型链呢?我们又来点开__proto__
,我们可以看见
!(C:\Users\27421\AppData\Roaming\Typora\typora-user-images\image-20231124135440074.png)
原型链中就是实例对象和原型对象之间的链接
原型(prototype,《高达00》曲
array原型,
基于原型和基于类
原本不难的继承,放到js里面居然变成了一个大关。
js里面有很多办法实现继承,去翻翻js的教材,可以看到很多方法可以模拟继承。
其实反过来想,如果没有静态语言给的继承这个概念,js是不是会灵活的多?
所以我们要做自己(😊,反讽ing)
ES6提供了很好用的class语法糖。
这里就不谈js实现继承了,感觉这玩意就是为了考而考。
那么继续开始踩坑。
首先是对super的理解,第一次遇见super是在react的类组件里,class里面的constructor里面突兀出现一个super(),我是一点都无法理解这个取名的意义的。这里还是推荐看阮一峰的ES6教程
PS:每次遇见新的语句,特别是在开发时遇见,不要去猜这个怎么用,而是马上去修补这块知识点,你这次猜对了,后面八成还有其他问题,跟谎言一样,应该杜绝第一次欺骗
对组合继承和寄生组合的理解
1 | // 组合继承 |
自从我对名叫”意义“的问题有了答案后,便更多的思考起了关于美的定义的问题。
最近有一点小感悟,我觉得美的存在就在于混乱和秩序的守恒。
拿照片举例子,拍摄时我们要寻找构图,从眼前混乱的景物中寻找一些规律,那些常说的三分法构图、人物要处于照片的什么位置比较好等待,这便是秩序;不过过分注重构图反而会丢失一些东西——暂且叫做信息,比如你看见单纯没有什么特别组合的色块,就会感觉乏味。
不过这个世界上大部分情况都是熵增的,我们更多是面临混乱的问题,所以人们更多的做的是寻找秩序。其实这点不难理解,人类的生存机制便决定了这一点,创造终究是单线程,所以可以靠秩序把尽可能多的机械化的行为内化交给非创造用的管理系统,就可以帮我们节约很多时间。就像,到点就饿、到时就醒一样。
同时秩序也会给人安定感。比如:这个社会上不确定因素太多,而又有部分确定的东西,简单举一些例子,机遇与努力、自由和法律·····我们再黑暗的可能有野兽的树林会因为陌生而恐惧,但再钢筋混凝土的灯光下,有着秩序守护就无需过多担心这些。
越来越发现很多东西都是可以抽象出来的。就比如这个“美就是秩序和混乱的角逐”。回头抽时间好好写一篇关于抽象的想法,把如今对于美的体悟总结一番。
(不知道这篇算不算通顺)
用了好几天,把用户管理系统的大架子搭建出来了,接下来就是部署上线与后序优化了。如此呢,大模型的项目也是时间问题了。
看样子自己真的挺适合做这样的事,设计+实现,这个不断创造的过程,很容易就让自己进入心流状态。
我以前一直疑惑wlop为什么可以做到画画+工程都做,一个工科一个感性驱动,似乎这两件事风马牛不相及,如今倒是懂了几分,画画和技术开发都是一个化零为整的过程,把以往的通过不断训练得到的经历、积累,结合自己的情感、逻辑、创造力,就像搭积木一样,组合成为一个从前没有的东西。
感觉自己其实没什么代码洁癖,想把代码写好更多的是想让自己以后能看懂,也为以后可能接手的人看懂。这样也算是面试官可能喜欢的一点吧。
答:instanceof用于检测构造函数prototype属性是否出现在某个实例对象的原型链。
它会检查右边构建函数的原型对象(prototype),是否在左边对象的原型链上。
1 | function myInstanceof(Obj, constructor) { |
使用new
命令时,它后面的函数依次执行下面的步骤。
prototype
属性。this
关键字。1 | function myNew(constructor, ...args) { |
[Js中prototype、[prototype]]和__proto__的区别和用法-CSDN博客
为什么React Hooks会有两条使用规则 - 掘金 (juejin.cn)
1 | function MyComponent() { |
1 | function MyComponent() { |
1 | class MyComponent extends React.Component { |
1 | function myFunction() { |
函数组件和闭包
答:可能是同步也可能是异步,取决于执行环境
关于飞书还没有支持导出md文档只能截取一部分内容和贴上连接
https://fvkadm6q6g6.feishu.cn/docx/UsBSdUZWPoWrZ4xujQScT2B5nGh?from=from_copylink
原本以为观影前抱有极高的期待会影响实际观影的体验,但诺兰永远不会让你失望,每一处都细细打磨,告诉你一切都无可挑剔。
从叙事脚本、视觉艺术、音效配合上来看,很多观感都在我的认知世界之上,我是没有能力去做批评了,就单纯聊聊自己对于这部电影的感悟吧。
我一直认为要欣赏一件事物,一定得从创作者的角度去理解。看画,从画家的角度,思考每一笔应该如何落下;听歌,从演唱者(作词、作曲家也是)的角度出发,理解每个发声包含的情绪。这就像设计师得从用户角度出发一样,在创作者不断尝试与我们靠近的同时,我们也应该努力向创作者靠近。
如此说,认知电影的最好方法,便是假想自己是导演,去编排故事的叙事走向、思考每个叙事情节的镜头画面、雕琢每一处音效,这又会细分到人物说话的文本、镜头的语言、光的艺术、事件的节奏。深入的说,有些东西可以像高考做阅读理解一样找到一些格式化的东西,而有些意识流的表达,可以称之为导演的个人特色。一般能完整的使用格式化的东西创作出一件作品,这件作品便可以称为佳作,而当导演可以融入自己的特色时,这种作品便是真正的艺术品。
《奥本海默》无疑是做到了这一点,让我们以导演的角度看:
这里拉片后,继续详写从多个角度学习。
镜头语言上,用合适的角度表现着人物的内心(拉片以后贴图完善),比如很多次对奥本海默的面部特写,相信他的眼睛也一定让你印象深刻;还有很多次的蒙太奇手法,无一不是恰到好处的表现着人物的心理。
叙事上,导演巧妙的使用黑白胶片,让时间线,人物线交织,比起一般的时间叙事法,这种办法让观众更多的把精力放在了理解角色的本身。而本部影片本身也是为了体现奥本海默的多面性,时间叙事便会让人们心中多一条时间限制。
音效给我的印象尤为深刻,在原子弹爆炸前的一刻,我能猜到诺兰会采用静音效果来处理,而惯性思维让我觉得在说完人物内心独白后,为了接下一幕,不会再复用之前的爆炸声效。于是,IMAX下的突如其来的爆炸音吓了我一跳,相信在场的科学家也是这样的心情,会被恐怖吓一跳。
如果说,观影效果表现着这部电影在当下是否热卖,那主旨应该就是这部电影在未来是否有着深远的影响,电影作为艺术品,天然的有着文化输出的能力,而一部大卖的电影,影响的可能是一代人,而奥本海默的主旨无疑是深远的。听说,当初诺兰就是因为听说,当时的科学家们认为,当点燃原子弹后会有概率让世界毁灭,有这样的戏剧冲突点,才决定拍这部电影的。而具体的主旨不是能简单就定义的,每个人都能从中理会出一些,无论关于世界,还是关于自己的感悟。
后面我会继续抽时间拉拉片,相信还能获得不少的感悟。
在来谈谈对影片内容,故事里爱因斯坦如同先知,引导着后来的科学家,这点还蛮有意思的。(二刷后整理)