RainSun 时光日记 
  • 主页
  • 归档
  • 分类
  • 标签
  • 关于
  •     
绿宝书学习笔记3

绿宝书学习笔记3

2.4 JavaScript的语法: 语句JS是一门在执行过程中以表达式求值为核心设计的语言 语句:是代码语法分析中的核心元素,通常是单行语句,或者由一对大括号括起来的复合语句,在语法描述中,复合语句可以整体作为一个单行语句处理 这里有两个原则 语句由语法符号;来分隔 一些语句存在返回值 2.4.1 表达式语句下边的代码显然是表达式 1+2+3 在后边加一个分号1+2+3;就成为了表达式语句 JS中,许多语法和语义最终都是由”表达式语句“来实现的,例如赋值、函数调用、以及我们在语言中常见的”调用对象方法“。由于表达式运算总是有值的——这包括NaN和undefined因此表达式语句也总是有值 2.4.1.1 一般表达式语句单值后边加分号就是单值表达式 evel()会返回”最后执行到的、有返回值“的那条语句的值 JS允许空语句,但是使用的时候一定要加好注释,否则代码审查将无法清晰地理解使用该技术的意图 2.4.1.2 赋值语句和隐式的变量声明赋值语句在JS中也是典型的表达式语句,是”赋值表达式运算“的一种效果,并且可以继续参与运算 str2 = 'this is a '
 2020-07-12   语言  js    js  基础  绿宝书 
绿宝书学习笔记2

绿宝书学习笔记2

2.3 JavaScript的语法:表达式运算在JS中,运算符大多是符号,但是也有少量单词,你应当避免把他们误解成语句 运算符\符号 运算符含义 typeof 取变量或者值得类型 void 运算表达式并忽略值 new 创建指定类的对象实例 in 检查对象属性 instanceof 检查变量是否指定类的实例 delete 删除实例属性 yield 从生成器内部返回一个值 await 在异步函数内等待一个值 yield 和 await 不是严格意义上的运算符 JS中可以存在没有运算符的表达式,被称为单值表达式,它有值的含义,表达式的结果即是该值,主要包括 this、super、new.target和arguments引用 变量引用,即一个已经声明的标识符 字面量,包括null、undefined、字符串、布尔值、数值、模板、正则表达式 2.3.1 一般表达式运算2.3.1.1 逻辑运算运算符会将操作数隐式转换成布尔值,以进行布尔运算 运算过程(与普通布尔运算一样)是支持布尔短路的 连续的逻辑运算可以用来替代语句 || 如果第一个值为真,后
 2020-07-11   语言  js    js  基础  绿宝书 
绿宝书学习笔记1

绿宝书学习笔记1

第一章 二十年来的JavaScript这一章主要介绍了作者本身的经历以及二十年来JavaScript的发展,从微软和网景的语言大战到最后的ES6,我通读了一遍,感觉没有什么需要记录下来东西,在此不做赘述 第二章 JavaScript的语法对于JavaScript的语法叙述来讲《JavaScript权威指南》是最好的一本书,但是本书面向具有一定开发经验的程序员,所以本章只讨论语法中的关键部分,并不打算讨论更多细节 请关注每小节之前的对内容的概括和汇总性的表格,可能会和其他书籍以及你既有的知识不一致,但是这是我们后续进一步讨论语言的基础 2.1 语法综述语言中的标识符一般分为两类,一类用于命名语法、符号等抽象概念,另一类用于命名数据。前者被称为语法关键字,后者被称为变量和常量,由此引入了一个概念:绑定。从标识符的角度来说,绑定分为语法关键字和语义逻辑的绑定,以及变量与它所存储数据和位置性质的绑定。 其中语法关键字和语义逻辑的绑定结果,是对作用域的限定,变量与它所存储数据和位置性质的绑定的结果,则是对变量生存周期的绑定 2.1.1 标识符所绑定的语义声明的意义:所谓声明,即约定数据的生存周期
 2020-07-10   语言  js    js  基础  绿宝书 
webpack打包原理

webpack打包原理

webpack什么是 webpack本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 webpack 就像一条生产线,要经过一系列处理流程后才能将源文件转换成输出结果。 这条生产线上的每个处理流程的职责都是单一的,多个流程之间有存在依赖关系,只有完成当前处理后才能交给下一个流程去处理。 插件就像是一个插入到生产线中的一个功能,在特定的时机对生产线上的资源做处理。 webpack 通过 Tapable 来组织这条复杂的生产线。 webpack 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条生产线中,去改变生产线的运作。 webpack 的事件流机制保证了插件的有序性,使得整个系统扩展性很好。 – 深入浅出 webpack 吴浩麟 webpack 核心概念Entry入口起点(entry point)指示 webpack
 2020-07-08   面试  知识点    面试  js  高级 
AST 抽象语法树

AST 抽象语法树

AST 抽象语法树 抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白。本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能 拆解拆解一个简单的add函数 function add(a, b) { return a + b } 首先我们拿到了这个语法快,这是一个FunctionDeclaration(函数定义)对象 分解成三块 一个id,就是他的名字,即add 两个params,也就是它的参数,即[a,b] 一块body,也就是大括号里边的东西 add没办法继续拆下去了,它是一个最基础的Identifier(标志)对象,用来作为函数的唯一标志,就像人的姓名一样 { name: 'add', type: 'identifier', ... } params继续拆下去,其实是两个Identifier组成的数组。之后也没办法拆下去了。 [ { name: 'a' type: 'identifier'
 2020-07-07   面试  知识点    面试  js  高级 
前端基础面试题--灰蓝宇墨

前端基础面试题--灰蓝宇墨

JavaScript写在前面:这是个基础的面试题,而且他的叙述也并不是很详细,建议一边看一边实验一边百度,或许在看这个文章之前你应该看一下《你不知道的Javascript》 数据类型基本数据类型:undefined、null、boolean、number、string、symbol 引用数据类型:object、array、function(统称为object) 数据类型检测typeof对于基本数据类型来说,除了null都可以显示正确的类型,typeof对于对象来说,除了函数都会显示object 注意:console.log(typeof NaN) //number instanceof通过原型链来判断数据类型的 p1 = new Person() p1 instanceof Person // true Object.prototype.toString.call()可以检测所有的数据类型,算是一个比较完美的方法了 var obj={} var arr=[] var num = 1 console.log(Object.prototype.toString.call(obj))
 2020-07-06   面试  题库    面试  js  基础 
Curriculum Vitae

Curriculum Vitae

赵英博个人信息电话:15143211127邮箱:zhaoyingbo@live.cn地址:长春个人网站:https://lacus.site微信:15143211127求职意向:web前端开发 项目经历Toast题库(2020.06.18-至今) 项目描述:使用Vue开发,实现背题,题目检索,背题进度保存,用户反馈等功能 项目职责: 负责页面UI布局,不使用第三方UI库,自行封装组件,实现主题切换,使用rem对各种机型进行适配 使用DFA算法实现题目检索 使用LocalStorage存储用户背题进度 使用PWA加速开屏速度以及实现本地化 使用Docker,CDN等技术进行部署 项目业绩:从设计到部署,独立完成整个项目第一版并上线,共用时三天,运行过程中无bug,抢在考试前一周发布,获得大量用户好评 项目地址:https://tiku.lacus.site/ Cherry课表成绩查询(2020.02.09-至今) 项目描述:使用Python爬取教务系统课表以及成绩信息,并使用前端进行展示 项目职责: 整体的项目规划,分工协调 负责页面UI布局,少量使用Ele
 2020-07-05   面试  文件    简历  面试 
JS基础类型API整理--收尾

JS基础类型API整理--收尾

JavaScriptJSONJSON.parse将字符串转化为JSON const json = '{"result":true, "count":42}'; const obj = JSON.parse(json); console.log(obj.count); // expected output: 42 console.log(obj.result); // expected output: true JSON.stringify将JSON转化为字符串 console.log(JSON.stringify({ x: 5, y: 6 })); // expected output: "{"x":5,"y":6}" console.log(JSON.stringify([new Number(3), new String('false'), new Boolean(false)])); // expected output: "[3,&
 2020-07-03   语言  js    js  基础 
JS基础类型API整理--Object

JS基础类型API整理--Object

JavaScriptObjectObject.assign将一个或者多个对象的可枚举属性拷贝到源对象上,会改变源对象,如果key相同后边会覆盖前边的 const target = { a: 1, b: 2 }; const source = { b: 4, c: 5 }; const returnedTarget = Object.assign(target, source); console.log(target); // expected output: Object { a: 1, b: 4, c: 5 } console.log(returnedTarget); // expected output: Object { a: 1, b: 4, c: 5 } object.constructor返回构造函数本身 var o = {}; o.constructor === Object; // true var o = new Object; o.constructor === Object; // true var a = []; a.constructor === A
 2020-07-02   语言  js    js  基础 
JS基础类型API整理--String

JS基础类型API整理--String

JavaScriptStringstring.@@iteratorstring类型是可迭代的 let str = 'test string' let ite = str[Symbol.iterator]() console.log(ite.next().value) // t string.charAt获取字符串某一位的内容,无参数默认第一位,下标从0开始 let str = 'text string' console.log(str.charAt()) // t console.log(str.charAt(6)) // s string.concat用于拼接一个或者多个字符串,返回一个新的字符串不会改变源字符串 let str = 'test string' let con_str = ' is cool!' console.log(str.concat(con_str)) // test string is cool! string.endsWith查看该字符串是否以传入的字符串结尾,可以传入裁剪的字符串长度 va
 2020-06-30   语言  js    js  基础 
12345

搜索

Hexo Fluid
 总访问量 次   总访客数 人 
吉ICP备18005655号 | 吉公网安备 22010202000634号