前端知识点(持续更新)

334 阅读2分钟

JavaScript

变量类型

五种基本数据类型(UndefinedNullBooleanNumberString)与引用类型。

在很多语言中,字符串以对象的形式来表示,因此被认为是引用类型的。ECMAScript放弃了这一传统。

动态属性

引用类型可动态添加或删除属性、方法。基本数据类型不可以,对基本数据类型添加属性或方法不会导致任何错误,但也不会添加成功。

复制变量值(将A复制给B)

对于基本数据类型:将A的值复制,然后赋值给B

对于引用数据类型:将指向A的指针复制,然后赋值给B

参数传递

ECMAScript中所有函数的参数都是按值传递的。

数据类型检测

基本数据类型用typeof,引用类型用instanceof(基于原型链)。

执行环境

执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。

作用域链

当代码在一个环境中执行时,会创建变量对象的一个作用域链。作用域链的用途,是 保证对执行环境有权访问的所有变量和函数的有序访问。作用域链的前端,始终都是当前执行的代码所在环境的变量对象。

延长作用域链的方式

  1. try-catch 语句的 catch 块
  2. with语句

注意:js没有块级作用域

垃圾收集的两种方式

  1. 标记清除
  2. 引用计数(循环引用问题)

垃圾收集产生的性能问题主要是垃圾收集的间隔时间问题。

优化内存占用的最好方式是为执行中的代码只保存必要的数据,一旦数据不再使用,最好通过将其值设置为null来释放引用(解除引用)。

HTML

CSS

数据结构与算法

网络