javasript 基础知识

简介

技术不断地在更新, 我们不断地去追求,但是不能忘记了基础的重要性,还是回来学学一些基础知识吧

javasript执行机制

// js是单线程特点,自上而下,同一时间只能做一件事, js为处理用户中的页面交互和操作dom而诞生的
// 当js解析执行时,被引擎分为两类任务: 同步任务和异步任务
// 同步任务会推到执行顺序去执行这些任务
// 异步任务,当其执行时候,会被放到任务队列等待js引擎执行

// 当执行栈执行完所有的同步任务,js引擎会去任务队列检查是否有任务存在, 有的话,就把任务放到执行栈那执行,然后又检查任务队列是否有任务,这种循环机制,事件循环(Event Loop)
// 对于任务队列更细分类: 微任务和宏任务
// 宏任务: setTimeout \ setInteval等, 会被放到宏任务队列
// 微任务: promise的then \ mutation Observe等, 会被放到微任务队列
// Event Loop执行顺序
// 首先执行执行栈上的
// 执行栈清空后去微任务全部
// 取宏任务的第一条执行
// 然后回到第二步
// 注意: 微任务执行全部, 宏任务只执行第一条

JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。

BFC

// BFC: 块级格式化上下文 独立的渲染容器 里外元素互不影响 解决元素边距重叠问题
// 激活方式:
// overflow的值不是visible属性
// float的值不是none
// display的值是inline-block \ table-cell \ flex
// position的值不是  static或者 relative

数据类型

基本数据类型 number string boolean undefined null
引用类型 date function object

undefined 未定义类型

console.log(1 + undefined);  // NaN 

NaN 代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果

null 空类型 空值

console.log(1 + null); // 1

检测方式

typeof 检测数据类型
instanceof 返回 true,如果对象是对象类型的实例

转换

隐式转换 某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

console.log('5' - 3);  //  2 

显示转换 与隐式类型转换相反,强制类型转换需要手动进行,在 JavaScript 中,强制类型转换主要是通过调用全局函数来实现的,例如 Number()、Boolean()、parseInt()、parseFloat() 等

console.log(Number('5' - 3)) // 2

string 常用方法

indexOf() 方法返回字符串中指定文本首次出现的索引(位置):

console.log('urnf'.indexOf('f'));  // 3

slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。 slice(start, end)

console.log('hyfi'.slice(2, 3));  // f

trim() 方法删除字符串两端的空白符:

console.log("  tt  ".trim());  // tt

split() 将字符串转换为数组:

console.log("aaaa".split(''));  // [a,a,a,a]

number 常用方法

Number(数据) 转数字类型

console.log('88圣诞节') // NaN 非数字变NaN

parseInt(数据) 只保留整数

console.log(parseInt(88.99)) // 88

parseFloat(数据): 可以保留小数

console.log(parseFloat(44.4444)) // 44.44

数字转字符 变量.toString()

console.log(88.toString())  // '88'

数组常用方法

pop() 方法从数组中删除最后一个元素:
push() 方法(在数组结尾处)向数组添加一个新的元素:
shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素:
splice() 方法可用于向数组添加新项:
slice() 方法数组的某个片段切出新数组。创建新数组。它不会从源数组中删除任何元素。

let arr1 = ['1', '2', '3', '4']
console.log(arr1.splice(1,2, '6', '7')); // ['2', '3']
console.log(arr1);  // ['1', '6', '7', '4']

console.log(arr1.slice(1,2)); // ['6']
console.log(arr1);  // ['1', '6', '7', '4']

最后

w3c定义,组织,对web进行标准化, 结构 表现 行为(html css js)

css中文名是 层级样式表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值