JS(JavsScript)
JS(JavsScript)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言 。
JS(JavsScript) 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
JS(JavsScript) 可以运行在绝大多数的浏览器中 。
JS(JavaScript)可以作为服务器端代码执行,但是需要搭建Node环境。
JS(JavaScript)是一种解释性语言,内置于浏览器或者Nodejs平台中的js解析器解析执行,执行前无需编译 弱类型语言 从上往下顺序解析执行 。
JavsScript组成
-
ECMAScript,描述了该语言的语法和基本对象。
注释、变量、操作符、流程控制语句、数组、对象、函数....
-
文档对象模型(DOM),描述处理网页内容的方法和接口。
DOM是JS中操作HTML页面的API,将HTML页面映射为一个多节点结构
绑定js事件方法、获取DOM元素、 基础语法、基础库、扩展库
-
浏览器对象模型(BOM),描述与浏览器6+进行交互的方法和接口
BOM是JS中操作浏览器的API,控制浏览器显示页面以外的部分。
alert 、ajax、 超时调用 、间歇调用、 location 、history
JavaScript特点
1)解释型语言
2)弱类型语言
-
变量的数据类型在初始化的时候确定
-
变量的数据类型可以随时发生改变
-
类型细分不明显
3)顺序解释执行
4)既可以作为前端脚本执行,也可以作为后端语言和使用的框架
JavaScript变量
变量:是一个值的容器,该容器的值可以随时改变。ECMAScript的变量是弱类型(松散类型),可以用来保存任何类型的数据。定义变量时使用var、let关键字。
var变量的特点/缺点:
1)var变量可被重复声明 2)var变量的声明会被提升至当前作用域前 3)var没有块级作用域
声明:由字母数字下划线$组成,不能以数字开头,建议使用驼峰式命名 firstName fontSize,不能使用关键字和保留字
变量作用域:分为全局作用域和局部作用域,函数外部和函数内部使用var声明的变量写在函数内部就是局部变量 仅当前作用域可见,声明在函数外部的变量就是全局变量 所有作用域可见,写在函数内部但是前面不加声明变量关键字就是全局变量
JavaScript基本数据类型:
值类型(基本数据类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(唯一)、bigInt(+n)。
字符串类型 : String
字符串存储字符的变量
通用 : 使用单引号或双引号来包裹任意文本
var carname="Volvo XC60";
特殊1 : 可以在字符串中使用引号,不得匹配包围字符串的引号
单引内包双引:var answer='He is called "Johnny"';
双引内包单引:var answer="He is called 'Johnny'";
特殊2:可以在字符串中使用转义字符,转义字符生效
var s4='\n\t\b\r';
console.log(s4)
数字类型 : Number
数字统一类型Number
进制 | 格式 | 取值 |
十进制 | ??? | 0~9 |
八进制 | 0??以0开头表示八进制 | 0~7 |
十六进制 | 0x?以0x开头表示十六进制 | 0~9a~f |
类型 | 例 |
普通浮点数 | let a = 3.1415926 |
科学计数法 | let a = 3.1e2 (3100) |
非数值:NaN
布尔类型 : Boolean
布尔逻辑值
逻辑 | 数值 |
true | 1 |
false | 0 |
空类型 : Null
Null类型取值只有一个null ,表示一个空对象指针
未定义类型 : Undefined
Undefined 表示变量不含有值,未被定义。
原始数据类型 :Symbol
表示定义独一无二值
let a = Symbol('litter');
任意长度整型 :bigInt
补充Number数字类型上下限以外的数字
JavaScript引用数据类型
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
对象类型:Object
对象是模拟现实生活的对象,对象由键值对组成,通过使用大括号将所有键值对括起来。
var dog = {
name: 'momo',
age: 4
}
数组类型 : Array
数组是一个特殊的对象,包含了多个值,值与值之间使用逗号分隔开,所有的值通过中括号括起来。
var classArr = ['web2104','web2105','web2106']
var studentArr = ['zhangsan','lisi','wangwu']
函数类型 : Function
function sum(a, b) {
return a + b;
}
//执行函数
sum(1,2); // 3