编程JavaScript因早期硬件限制被设计为单线程异步,随硬件多核化、浏览器架构升级及移动互联网发展,成Web核心语言。
编程JavaScript因早期硬件限制被设计为单线程异步,随硬件多核化、浏览器架构升级及移动互联网发展,成Web核心语言。
前端认知本文核心观点是「一门程序语言脱离实际的硬件环境和相应的软件环境谈它的发展变化,谈为什么我们最后选择它往往是不够深刻的」。我尝试从非另一个角度看待问题。 这个话题很大,但确实值得 Web 从业者去深究和探讨!但这是一个很有难度的问题,到目前为止我还看不到一个让人心锐诚服的答案!在我看来,找到相对合情合理的答案得从计算机硬件(尤其是 CPU)开始,从操作系统发展变化的角度审视互联网的进化,这样才更容易…
JavaScriptPromise 和 for 循环问题,循环需要上一次的结果 需要计算工序的时间,有开始时间,结束时间,下一道工序的开始的时间是上一道工序的结束时间,使用 promise 和 遍历实现 for 循环中的 promise 如何正确的 resolve promise 是异步的,需要到下一个 tick 才能执行 then,除非 break 或者 return,否则就是等 for 循环执行完毕才能 reso…
JavaScript适用页面嵌入 dom 业务,比如一个问卷弹窗等,类似 template.js、ejs 语法,不依赖 jq,zepto,vue,可直接插入 dom 中
JavaScript交集、并集、差集 交集:对于两个给定集合 A、B,由属于 A 又属于 B 的所有元素构成的集合,叫做 A 和 B 的交集。A={1,2,3,4,5},B={3,4,5,6,8},A∩B={3,4,5} 并集:对于两个给定集合 A、B,由两个集合所有元素构成的集合,叫做 A 和 B 的并集。例: {3,5}U{2,3,4,6}= {2,3,4,5,6} 差集:记 A,B 是两个集合,则所有属于 A …
JavaScript网易云歌词接口 解析类 如何用
JavaScriptjs 的特点 单线程 执行机制是基于 event loop 所有同步任务再主线程执行,形成执行栈 主线程之外有一个任务队列,只要一步任务有了运行结果,就在任务队列中放置一个事件 一旦执行栈的同步执行完毕,就去读取任务队列,寻找任务队列中放置的异步事件,异步事件结束等待状态,进入执行栈,开始执行 之前有写了一篇文章 js 引擎执行过程:运行机制,语法分析,创建函数调用栈,创建上下文,创建作用域链 ,…
JavaScript业务中常见的问题 原因和原理 js 所有的数字都遵循 IEE 754 标准,使用 64 位固定长度表示,这就是双精度浮点数的由来 这样做的目的是为了归一化处理数字,节省存储空间 64 位分为三部分 符号位(S):第 1 位符号位,0 代表正数,1 代表负数 指数为(E):中间 11 位指数位,代表次方数 位数位(M):最后 52 位是位数,超出的部分自动进 1 舍 0 转换公式 辅助工具: 十进制…
TypeScript原始数据类型在 typescript 的应用 原始数据类型包括:布尔值、数值、字符串、null、undefined 任意值在 typescript 的应用 任意值(Any)用来表示允许赋值为任意类型 类型推论 TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论 联合类型 表示取值可以为多种类型中的一种 对象类型 使用接口(Interfaces)来定义对象的类型 数组类…
TypeScripttypescript 学习资源 typescript 官网 源码地址 TypeScript 是什么及特点 Typescript 是 javascript 的一个超集,提供了类型系统和对 ES6 的支持 可以编译成 javascript 写代码的时候进行了类型定义,可以在编译阶段发现错误 文件后缀为.ts,拿 typescript 编写 react 时后缀是.tsx 如何安装 hello world…
JavaScript如果对 apply 的使用不太自信,可以看这篇文章 apply 、 call 、bind 三者的区别 什么是发布订阅模式(观察者模式) 订阅者可监听发布者发布的消息,一旦发布者有消息发布,那么订阅者就可以接收到消息,当然订阅者也可选择性订阅 发布订阅模式(观察者模式)实现条件 确定发布者 确定缓存列表(用于存储订阅者) 发布消息(接收消息) 最常见的发布订阅模式(观察者模式) dom 监听事件 发…
JavaScriptCommonJS 服务端模块规范,ES5 的 Nodejs 采用了这个规范 一个单独的文件就是一个模块,加载使用 require 方法读取文件 CommonJS 是同步的,只有加载完成才能执行后面的操作 这种方法适用于文件已经在硬盘中了,加载速度快,如果是服务端文件,就要用其他方式了 ADM(Require.js) 支持浏览器环境 AMD 是 Require.js 推广的时候定义的规范 AMD 是…
JavaScript面向对象编程 如果对 js 的原型,原型链,__proto__不熟悉,可以看我之前对 原型,继承,设计模式介绍 面向对象编程的特点 每一个对象都可以被看作一个用户清晰角色或者责任的小机器 有命名空间:一个有着对象所有功能的容器 有 class 类:对象属性与方法的定义 有 Object:类一个实例 有 Property:对象的属性 有 Methods:对象的方法 有 Constructor:对象的…
JavaScript什么是工厂模式 当去买一个 🍔 的时候,无须得到 🍔 的原材料,只需要获得到 🍔 对应工厂模式:不暴露创建对象的具体逻辑,将创建对象的方法封装到一个函数中,这个函数就是一个工厂 工厂模式按照抽象程度可以分为:1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 什么时候用工厂模式 对实例的封装,使用 new 操作符时候可以考虑用工厂模式 身边的工厂模式 $(selector) $()就是一个…
JavaScript原型链继承 将父类的实例作为子类的原型 优点 父类方法可以复用 缺点 父类的引用属性会被所有子类共享 子类创建实例不能向父类传递参数 构造函数继承 将父类构造函数内容复制给子类构造函数 优点 可以在 Child 中向 Parent 传参 类的引用属性不会被共享 缺点 都在构造函数中定义,每次创建实例都会初始化方法或属性 父类方法不能复用 组合继承 构造函数继承与原型链继承结合 优点 父类的方法可以…
JavaScript做了什么 创建一个空对象 对象的__proto__指向构造函数的 prototype 改变构造函数的 this 指向,指向 obj 返回这个对象 new 的实现
JavaScript__proto__ __proto__ 指向它对应的原型对象 prototype 只有函数才有 prototype 属性 每个函数创建后都有 prototype 属性,一旦把这个函数当作构造函数,调用 new 操作符,js 就会创建构造函数的实例 创建一个实例,是通过__proto__指向构造函数的 prototype 来实现继承构造函数 prototype 的所有属性和方法的 construct…
JavaScriptPromise/A+规范 Promise 规范有 Promise/A Promise/B Promise/C Promise/D Promise/A+是 Promise/A 的升级版本 Promise 有 3 个状态:等待态(Pending)、执行态(Fulfilled)、拒绝态(Rejected) then 方法可以被一个 promise 调用多次,then 方法必须返回一个 promise 等…
JavaScript默认绑定 隐式绑定(隐式丢失) 显式绑定 new 绑定 严格模式下的 this 箭头函数绑定 默认绑定 this 指向 window 例子 1:在全局环境中,this 默认绑定到 window 例子 2:函数独立调用的时候,this 默认绑定到 window 例子 3:被嵌套函数独立调用的时候,this 默认绑定到 window 例子 4:IIFE 立即执行函数实际上是函数声明后直接调用执行 相当…
JavaScript作用域 作用域就是执行上下文,在执行上下文中会有内存分配与执行两个阶段。变量的的生命周期:声明,初始化,赋值 变量提升 在全局作用域或者函数作用域 var 声明变量允许在声明之前使用,值为 undefined,这个就是变量提升 块级作用域中声明的变量会提升到该作用域的头部,即允许在实际声明前使用 暂时性死区 在全局作用域或者函数作用域 let 或 const 声明变量,只允许在声明之后访问,在作用…
确认操作
请再次确认填写 Client Key
首次发布动态需要密钥,将保存在本机公开内容助手
确认评论邮箱
邀请制评论