概览
- HTML
- CSS
- Javascript
HTML
标记语言
CSS
Javascript
7类型
- String
- Number
- Boolean
- Null
- Undefined
- Symbol
- Object (Array Function)
基本语法特点
举例
var a = 7 + "2";
//var 关键字 定义变量 var let const 均可定义变量,作用域不同
//a 变量名
//= 操作符 搭配关键字使用
//注意js运算时会做一个数据统一化
Object
var user = {
name: "Aziz Ali",
yearOfBirth: 1988,
calculate: function(){
//略
}
}
Function
运行
js 本质 一段文本
理解Javascript
01 js基本概念
概览
- Browser进程
- GPU进程
- 渲染进程
- 插件进程、网络进程
渲染进程
-
GUI线程
-
JS线程
-
事件触发线程
-
定时器触发线程
-
网络线程
-
单线程
GUI线程和js线程是互斥的
- 动态语言(弱类型语言)
运行时才确定数据类型的语言,变量在使用前无需申明类型
const company = 'Bytedance';
- 面向对象、函数式
参数->结果 副作用 纯函数 jQuery、Ramda
原型、继承、封装
- 解释类语言、JIT
- 安全、性能差
浏览器中执行,不能访问底层操作
数据类型
-
对象
-
- 数组
-
-函数
-
基础数据类型(7)
复杂数据类型是可以被改变的,基础数据类型无法被改变
复杂的数据类型赋值的是地址,基础数据类型赋值的是原始值
const a = {
name: 'zq'
}
const b = a
b.name = '111';
const str = '11';
let newStr = str;
newStr = '22'
console.log(a,b,str,newStr)
//输出
//111 111
//11 22
作用域
静态作用域
- 全局作用域
- 函数
- 块级
变量提升
- var 有变量提升
- let const无, 提前访问报错
- function函数可以先调用再定义
- 赋值给变量的函数无法提前调用
js怎么执行
- 准备工作
执行上下文
- ex2
- 全局执行上下文
var scop = 'global';//创建一个全局的执行上下文
func();
console.log(company);
function func(){
var funcVar = 'func';
console.log('这是个函数',funcVar);
}
var company = '字节跳动';
- 函数执行上下文
待续......