javascript_note0
Opened this issue · 0 comments
ronghaoZHI commented
一个完整的javascript实现包括:
- 核心(ECMAScript)
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
ECMAScript定义的内容:语法、数据类型、原型和继承、内置对象和函数的标准库。
语法
- 区分大小写
- 标识符
- 第一个自负必须是字母/下划线/美元符号
- 其他字符可以是字母/下划线/美元符号/数字
- 不包含关键字 保留字 true false null等
数据类型
- 5中基本数据类型:Undefined/Null/Boolen/Number/string
- 1中复杂等数据类型 :Object
typeof操作符
- “undefined” --未定义
- “boolen”--布尔值
- “strng”--字符串
- “number”--数值 / NaN ( isNaN() )
- “object”--对象/null
- “function”--函数
Object
- constructor:构造函数
- hasOwnProperty(propertyname):当前实例中的属性
作用域
垃圾回收
- 标记清除
- 引用计数
基本数据类型保存在 栈内存中
基本数据类型的变量 复制,会创建一个副本
引用数据类型保存在 堆内存中
引用类型的变量 实际上包含的不是对象本身 而是指向一个指针
引用类型的复制 复制的其实是指针 两个变量最终都指向同一个对象
引用类型
Object
Array
Date
RegExp
Function
基本包装类型
Boolen
String
Number内置对象
Global (window)
Math
面向对象
- ####属性
数据属性
访问器属性 ( defineProperty() )
-
创建对象
工厂模式
构造函数模式
原型模式
-
继承
原型继承
寄生式继承
寄生组合式继承
函数表达式
函数声明 / 匿名函数
闭包
模拟块级作用域