前端语言01|青训营笔记

93 阅读2分钟

概览

  • HTML
  • CSS
  • Javascript

HTML

标记语言

CSS

Javascript

7类型

  1. String
  2. Number
  3. Boolean
  4. Null
  5. Undefined
  6. Symbol
  7. Object (Array Function)

基本语法特点

举例

var a = 7 + "2";
//var 关键字 定义变量   var let const 均可定义变量,作用域不同
//a 变量名
//= 操作符 搭配关键字使用
//注意js运算时会做一个数据统一化

Object

var user = {
    name: "Aziz Ali",
    yearOfBirth: 1988,
    calculate: function(){
    //略
    }
}

Function

运行

QQ图片20230508204046.jpg 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怎么执行

image.png

  • 准备工作

执行上下文

  • ex2
  • 全局执行上下文
var scop = 'global';//创建一个全局的执行上下文
func();
console.log(company);
function func(){
  var funcVar = 'func';
  console.log('这是个函数',funcVar);
}
var company = '字节跳动'
  • 函数执行上下文

待续......