
获得徽章 3
- 渲染引擎:能够将html/css/js等资源文件转换为用户可见的结果。不同厂商开发了不同的渲染引擎:tridend, gecko, webkit等。webkit 2005年苹果开源。javascriptcore是webkit的默认js引擎,谷歌产品中被v8替代。
Javascriptcore: 源代码=> 抽象语法树 =>字节码=>解析器=>JIT=>本地代码
V8: 源代码=> 抽象语法树 =>解析器=>JIT=>本地代码
v8一直以性能优化为目标。展开评论点赞 - 解释型语言与编译型语言的区别。
> 根据程序运行时还是编译时获得运行目标平台的代码来决定的
编译型语言需要先进行编译,然后转换为可执行文件。典型的C C++.
优点:一次编译,永久执行,不需要编译器在身边;运行效率高;源代码安全性好(只需要提供可执行文件,不用提供源代码)
缺点:跨平台能力差(可执行文件是和平台(cpu)相关的)
解释型语言,边解释,边执行。典型js ruby
优点:跨平台;
缺点:需要编译器(例如在浏览器里)守护;运行效率较低;源代码安全性较差(运行时需要源代码);
看到一个比喻,编译型语言是:做好一桌子菜再开始吃。解释型语言就是吃火锅,需要边煮边吃。展开评论点赞 - SMART 原则复习
1. 绩效指标必须是具体的(Specific)
2. 绩效指标必须是可以衡量的(Measurable)
3. 绩效指标必须是可以达到的(Attainable)
4. 绩效指标是要与其他目标具有一定的相关性(Relevant)
5.绩效指标必须具有明确的截止期限(Time-bound)
无论是制定团队的工作目标还是员工的绩效目标都必须符合上述原则,五个原则缺一不可。展开赞过评论3 - js中如何让一个类的内部变量不被外部访问到,可以为这个变量只声明get方法
class Rectangle {
constructor() {
this.height = 3;
}
get height() {
return this.height
}
}
const square = new Rectangle();
square.height = 100
console.log(square.height); // 100
上述代码运行结果会提示:
"TypeError: Cannot set property height of #<Rectangle> which has only a getter
at new Rectangle (<anonymous>:13:21)
at <anonymous>:27:14"展开1点赞