JavaScript的诞生只用了十天时间,作者Brendan Eich在开发时借鉴融合了多种计算机语言,比如说:
- 基本语法:借鉴 C 语言和 Java 语言
- 数据结构:借鉴 Java 语言,包括将值分成原始值和对象两大类
- 函数的用法:借鉴 Scheme 语言和 Awk 语言,将函数当作第一等公民,并引入闭包
- 原型继承模型:借鉴 Self 语言(Smalltalk 的一种变种)
- 正则表达式:借鉴 Perl 语言
- 字符串和数组处理:借鉴 Python 语言
JS是一门动态、弱类型的编程语言,非常适合面向对象和函数式的编程风格
JS的基础数据类型有以下几种:
| Number | String | Boolean | undefined | null | Symbol |
|---|---|---|---|---|---|
| 表示数值,可以是整数或小数。 | 由零个或多个字符组成的文本字符串。 | 只有两个值,true 和 false。 | 表示未定义或不存在的值,通常在声明变量但没有对其进行初始化的情况下出现。 | 表示空或者不存在的对象,通常用于手动释放对象或重置对象引用。 | 表示独特的生成标识符,在对象属性中作为键值存在。 |
而JS的作用对象可以包括函数,数组和自定义对象,通常指某种具体的实体
JS作用域
作用域分为全局作用域,局部作用域。而局部作用域可以分为函数作用域和块级作用域。
在函数内部声明的变量只有在该函数及其子函数内部才能访问,而在代码块内声明的变量只能在该块内部访问。
更深的作用域可以引用外部作用域的声明的变量,内层作用域也可以创建和外层作用域同名的引用。
可以利用C语言中的局部变量和全局变量的概念去就进行理解。