目录
一、JavaScript的组成、运行环境及特点
(一)组成
- ECMAScript:简称ES,描述了该语言的语法和基本对象。
- DOM:为浏览器提供的用于操作html/css的js接口。(使页面内容动起来,如:设置点击事件、设置轮播图淡入淡出…)
- BOM:为浏览器提供的用于和浏览器窗口交互的js接口。(使浏览器窗口动起来,如:弹出新浏览器窗口、更改浏览器窗口大小…)
(二)运行环境
- node
在vscode中新建终端,指定文件夹,输入node xx.js
- 浏览器
在浏览器中鼠标右键,检查,点击Console控制台
(三)特点
- 解释型语言
- 弱类型语言
- 安全性
- 跨平台性
- 基于对象
- 事件驱动
二、关键字、保留字和标识符
(一)关键字
break do try typeof case else new var catch finally return void
continue for switch while debugger this function with default if
throw instanceof delete in
区分大小写:typeof 关键字, typeOf 非关键字
(二)保留字
abstract enum int short boolean export interface static byte extends
long super char final native synchronized class float package
throws const goto private transient debugger double implements
protected volatile import public
(三)标识符
命名规则:
1.由字母下划线以及$组成
2.不能由数字开头
3.使用驼峰式命名 firstName lastName
4.不能使用关键字或者保留字
三、变量
- var:可重复声明;可以变量提升;不存在块级作用域。
- let:不可重复声明;不可变量提升;具有块级作用域。
- const:不可重复声明;不可变量提升;具有块级作用域。
四、数据类型
(一)基本数据类型/简单数据类型
变量都维护在栈区,值保存在栈区。
string------------字符串类型
number---------数值类型(包括:NaN[不是数值]、整数、浮点数)
bollean----------布尔类型(true、false)
null---------------空对象
undefiend------未定义,继承自null
symbol----------独一无二的值,ES6新引入的原始数据类型。
(二)引用数据类型/复杂数据类型
引用地址保存在栈区,值保存在堆区。
obiect-------对象
Array--------数组
function-----函数
(三)深拷贝与浅拷贝
- 深拷贝:值的复制拷贝。
var a=1;
b=a; //b=1;a=1
a=2; //b=1;a=2
- 浅拷贝 :引用地址的传递。
var obj={
name: "lihua",
age: 28,
number: 1008666
};
obj1=obj;//指针 引用地址 1001 obj1、obj的值都是一个地址,其中一个的值改变,两个都改变。
obj1.age = 20; //故:obj1.age=obj.age=20;
- 浅拷贝转为深拷贝:…解决。
var a = {
name :'xxx',
num:601
}
var b = {...a};
a.num=602; //故:b.num=601;a.num=602
五、类型判断
(一)typeof:判断数据类型。
返回值类型:
string------------字符串类型
number---------数值类型
bollean----------布尔类型
undefiend------未定义
obiect-------对象
function-----函数
(二)isNaN:判断是否为数值。
是 =====> true
不是 ===>false
(三)isFinite:判断是否为有效值
是 =====> true
不是 ===>false
(四)infinty:数值范围
最小范围:Number.MIN_VALUE 5e-324
最大范围:Number.MAX_VALUE 1.7976931348623157e+308
超过最大范围,返回正无穷:infinty;超过最小范围,返回负无穷:-infinty。
结语
今日份分享到这里就结束了,欢迎评论区灌水交流。
生命不息,奋斗不止,让我们一起认真学习,记录点滴进步!