前提
本文内容,主要是对自己的个人技能做了一个汇总总结,查缺补漏,不断学习。大部分内容都是对其它网络教学者内容的记录,当作是笔记来查看。涉及的视频和学习内容在文末附上。
其它内容记录
前端工程师负责的工作内容
前端负责的工作内容包括
- 网站的开发和维护
- 适配不同的屏幕尺寸
- 保证网站的兼容性
- 保证网站的性能(网站动画的流畅度,复杂业务逻辑的处理时间,接口请求时长等)
- 保证网站的安全
你比其它前端突出在那里
前端工程师所掌握的技能就是你的硬实力,大家只要努力学习,花费一定的时间基本都能学会,你们之间的差距就是对技能的熟练度,你的软实力我认为有三点,抽象思维,视野,影响力人脉。抽象思维分为两部分,一是对代码的抽象,二是对业务的抽象
互联网
浏览器
回退字节码(优化)
JavaScript 是弱类型语言,在执行过程中可以随意更改变量的类型。这是可以的。但是从执行效率优化来看,变换变量的类型会增大消耗使效率降低。
比如:有这样的一个 sum 函数,在函数声明时,JS 引擎并不知道参数 x,y 是什么类型,但在后面的多次调用中,传入的 x,y 都是整型,sum 函数被识别为热点函数,解释器将收集到的类型信息和该函数对应的字节码发送给编译器,于是编译器生成的优化后的机器代码中,就假定了 sum 函数的参数都是整型,之后遇到该函数的调用,就直接使用运行更快的机器代码。
如果此时你调用 sum 函数传入了字符串,机器代码不知道如何处理字符串的参数,于是就需要进行 deoptimization,也就是回退字节码,由解释器来解释执行。
所以说,我们尽量不要把一个变量的类型变来变去,对传入函数的参数的类型也是最好保持固定。
function sum(x,y){
return x + y;
}