JavaScript基本语法
比特聚客 2022-02-02 javascript
# JavaScript基本语法
# JavaScript都包括啥
- BOD浏览器对象模型
- DOM文档对象模型
- ECMAscript简单来说就是js本版se5,se6
# JavaScript数据类型
# 基本数据类型
- 数值 number
- 字符串 string
- Boolean(true,false)
- undefined
- null
- BigInt(ES6新增)超长数值
- Symbol(ES6新增)唯一值
# 引用数据类型
- object
# 基本数据类型和引用数据类型的区别
基本数据是栈内存,引用是堆内存
let a1 = 100;
let b1 = a1;
b1 = 200;
console.log(a1); // a1 = 100
let a2 = { age: 18 };
let b2 = a2;
b2.age = 20;
console.log(a2); // { age: 20 }
如图所示
# JavaScript变量/常量
- var
- let
- const
# 区别
- 块级作用域
- 变量提升
- 重名
# var 没有块级作用域 let const 有块级作用域
<script>
for (let i = 0; i < 5; i++) {
console.log(i);
}
console.log(i);
if (true) {
const i = 5;
}
console.log(i);
</script>
# var 可以重名 let const 不可以
var a = 5;
var a = 10;
console.log(a);
let a = 5;
let a = 10;
console.log(a);
var a = 5;
let a = 10;
console.log(a);
# js控制语句
- if
if(true){
console.log("hello 李嘉诚")
}
//执行结果 ”htllo 李嘉诚“
- if else
if(false){
console.log("李嘉诚")
}else{
console.log("马云")
}
//执行结果 ”马云“
- if else if else
if(false){
console.log("李嘉诚")
}else if(false){
console.log("马云")
}else{
console.log(" 所有条件都不为true时执行的代码")
}
//执行结果 ”所有条件都不为true时执行的代码“
switch
- 使用switch完成四则运算
```js
var num1 = 10,num2 = 5,op = 'abc';
switch(op){
case "+" :console.log(num1 + num2);break;
case "-" :console.log(num1 - num2);break;
case "*" :console.log(num1 * num2);break;
case "/" :console.log(num1 / num2);break;
default :console.log('无法执行');
}
# 语法
######for循环
# 语法
# 执行结果
# while循环
var i = 0
while(i<5){
i++;
console.log(i)
}
# 语法
# do while
var a =1
do {
a++
console.log("hello ljc")
} while (false);
注意:第一次不判断条件先执行一次
结果
# 函数语法
function fn(n1,n2){
console.log(n1,n2)
}
fn(1,2)
# 结果
# JavaScript是如何执行的?
- 自上而下,从左到右一行一行执行
- 如果有一行报错,后面的代码不执行
- 先执行同步代码,再执行异步代码
# 什么是微任务?什么是宏任务?
微任务:Promise、async await
宏任务:setTiemout、setInterval、Ajax、DOM事件
console.log(1)
function add(){
console.log(222)
}
Promise.resolve().then(() => {
console.log("promise");
});
add()
setTimeout(()=>{
console.log(333)
},1)
结果
解释