HTTISHERE · 阿汪同学
「大前端」表达式&运算符 「大前端」表达式&运算符
在一些通用的计算机语言设计理论中,能够出现在赋值表达式右边的叫做:右值表达式(RightHandSideExpression),而在 JavaScript 标准中,规定了在等号右边表达式叫做条件表达式(ConditionalExpressi
2021-05-24
「大前端」表达式 「大前端」表达式
在执行过程中,真正能干活的就只有表达式语句,其它语句的作用都是产生各种结构,来控制表达式语句执行,或者改变表达式语句的意义。 表达式语句实际上就是一个表达式,它是由运算符连接变量或者直接量构成的。 一般来说,表达式语句要么是函数调用,要
2021-05-21
「大前端」语句2 「大前端」语句2
在 JavaScript 标准中,把语句分成了两种:普通语句和声明型语句。 普通语句:声明语句: 语句块语句块就是一个花括号区域,需要注意的是,语句块会产生作用域。 空语句就是单独的一个分号;,空语句的存在仅仅是从语言设计完备性的角度考虑,
2021-05-20
「大前端」脚本 vs 模块 「大前端」脚本 vs 模块
JavaScript 有两种源文件,一种叫做脚本,一种叫做模块。 这个区分是在 ES6 引入了模块机制开始的,在 ES5 和之前的版本中,就只有一种源文件类型(就只有脚本)。脚本是可以由浏览器或者 node 环境引入执行的,而模块只能由 J
2021-05-18
「大前端」文法 「大前端」文法
文法是编译原理中对语言的写法的一种规定,一般来说,文法分成词法和语法两种。 词法规定了语言的最小语义单元:token,可以翻译成“标记”或者“词”。词法分析技术上可以使用状态机或者正则表达式来进行。 词法分类: WhiteSpace
2021-04-01
「大前端」语句 「大前端」语句
比较常见的语句包括变量声明、表达式、条件、循环等。 Completion 类型q: 在 try 中有 return 语句,finally 中的内容还会执行吗? function foo() { try { r
2021-03-11
「大前端」面向对象的JS? 「大前端」面向对象的JS?
面对对象 or 基于对象 Object:一切事物的总称。基于对象:语言和宿主的基础设施由对象来提供,并且 JavaScript 程序即是一系列互相通讯的对象集合。 对象的特点(标识性、状态和行为): 对象具有唯一标识性:即使完全相同的两个
2021-03-11
「大前端」执行中都发生了什么 「大前端」执行中都发生了什么
Promise or setTimeOut得到一段 JS 代码时,浏览器或者 Node 环境首先要做的就是;传递给 JavaScript 引擎,并且要求它去执行。但是宿主环境当遇到一些事件时,会继续把一段代码传递给 JavaScript 引
2021-03-11
「大前端」JS Type 「大前端」JS Type
为什么有的编程规范要求用 void 0 代替 undefined? 字符串有最大长度吗? 0.1 + 0.2 不是等于 0.3 么?为什么 JavaScript 里不是这样的? ES6 新加入的 Symbol 是个什么东西? 为什么给对象
2021-03-08
「JS」Some points 「JS」Some points
原始类型原始类型存储的都是值,是没有函数可以调用的。'1'.toString() ,其实在这种情况下,'1' 已经不是原始类型了,而是被强制转换成了 String类型也就是对象类型,所以可以调用 toS
2021-02-23
「JS」数组遍历方法 「JS」数组遍历方法
forEach map filter find reduce forEachlet arr = [1, 2, 3, 4]; arr.forEach((item) => { console.log(item + 1); &#
2020-10-13
「JS」闭包 「JS」闭包
闭包是指有权访问另外一个函数作用域的变量的函数。——《JavaScript 高级程序设计》 闭包的特点首先是函数,其次是它可以访问到父级作用域的变量对象,即使父级函数完成调用后”理应出栈销毁“。 闭包是指那些能够访问自由变量的函数。—
2020-10-13
「JS」ES6新增特性 「JS」ES6新增特性
表达式:声明、解构赋值 内置对象:字符串扩展、数值扩展、对象扩展、数组扩展、函数扩展、正则扩展、Symbol、Set、Map、Proxy、Reflect 语句与运算:Class、Module、Iterator 异步编程:Promise、G
2020-10-12
「JS」作用域 「JS」作用域
作用域:负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符(变量)的访问权限。——《你不知道的 JavaScript 上卷》 参考教程:前端进击的巨人(三):从作用域走进闭
2020-10-10
「JS」数据结构 「JS」数据结构
栈(Stack) 堆(Heap) 队列(Queue) 链表(Linked) 数组(Array) 树(Tree) 集合(Set) 哈希表(Map) js 内变量类型: 基础类型(Undefined, Null, Boolean, Num
2020-09-27
「JS」VD 1 「JS」VD 1
VD 其实就是一个 JS 对象,包括 tag(标签名),props(属性),children(子元素对象)。 { tag: "div", props: { className: "wrapper"
2020-09-21
roughViz.js 手绘风格的网页图表js库 roughViz.js 手绘风格的网页图表js库
是一个非常个性化的图标插件,且可以根据自己喜好变换出很多不同的显示样式。推荐:★★★★☆ 支持图表类型 Bar (roughViz.Bar) 条形图 Horizontal Bar (roughViz.BarH) 水平条形图 Donut (
2020-01-05
js内proxy检测 js内proxy检测
let p = new Proxy(target, handler);用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)。 target:用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代
2019-01-24
js绑定call, apply, bind js绑定call, apply, bind
在JavaScript内Function有3个自带的方法(call,apply,bind),均是为了改变函数体内的this指向。 相同:call,apply,bind函数第一个参数都是this要指向的对象,即想指定的上下文。 区别:
2019-01-23
constructor & prototype constructor & prototype
定义:constructor 是一个对象的属性,这个属性存在在此对象的 prototype 中, 指向此对象的构造函数。 constructor 是一个对象属性; constructor 在 prototype 中; construc
2019-01-22