10 2019 档案

摘要:for in用来循环对象中的属性,但是通过for in循环输出的属性名的顺序是不可测的。具体来说,所有属性都会被返回一次,但返回的先后次序可能会因浏览器而异。 ES5之前:如果表示要迭代的对象的变量值为null或undefined,for in语句会抛出错误; ES5之后:这种情况不再抛出错误,而只 阅读全文
posted @ 2019-10-31 14:18 Nayek 阅读(1247) 评论(0) 推荐(0) 编辑
摘要:对象{ }要用for in遍历对象内的属性,通过hasOwnProperty判断属性是否是对象本身的,而不是原型上的 数组[ ]可以通过forEach来遍历 阅读全文
posted @ 2019-10-30 15:41 Nayek 阅读(130) 评论(0) 推荐(0) 编辑
摘要:浅拷贝 浅拷贝是拷贝第一层的拷贝 使用 解决这个问题。 通过展开运算符 来实现浅拷贝 深拷贝 简单的做法: 但是该方法也是有局限性的: 会忽略 会忽略 会忽略函数 不能解决循环引用的对象 (会抱错) 如果你所需拷贝的对象含有内置类型并且不包含函数,可以使用 " " 自封装深拷贝 思路: 1. 使用f 阅读全文
posted @ 2019-10-27 23:38 Nayek 阅读(244) 评论(0) 推荐(0) 编辑
摘要:每个函数在被调用时都会自动取得两个特殊变量:this和arguments;内部函数在搜索这两个变量时,只会搜索到其活动对象为止,因此永远不可能直接访问外部函数中的这两个变量。 不过,把外部作用域中的this对象保存在一个闭包能够访问到的变量里,就可以让闭包访问该对象了,例子如下: 知识点:红宝书18 阅读全文
posted @ 2019-10-27 22:51 Nayek 阅读(193) 评论(0) 推荐(0) 编辑
摘要:CSS预处理器 1. 基于CSS的另一种语言 2. 通过工具编译成CSS 3. 添加了很多CSS不具备的特性 4. 能提升CSS文件的组织方式 CSS预处理器的作用 1. 帮助更好的组织CSS代码 2. 提高代码复用率 3. 提升可维护性 CSS预处理种类 1. Less 文件后缀名:.less a 阅读全文
posted @ 2019-10-27 15:43 Nayek 阅读(1386) 评论(0) 推荐(0) 编辑
摘要:深入浅出Object.defineProperty() 红宝书对应知识点页码:139页 红宝书150页:hasOwnProperty( )方法可以检测一个属性是存在于实例中,还是存在于原型中,给定属性存在于对象实例中时返回true。 相应知识点参考博客:https://www.jianshu.com 阅读全文
posted @ 2019-10-26 12:25 Nayek 阅读(140) 评论(0) 推荐(0) 编辑
摘要:v bind和v model的区别 1.v bind用来绑定数据和属性以及表达式,缩写为':' 2.v model使用在表单中,实现双向数据绑定的,在表单元素外使用不起作用 什么是 mvvm? MVVM 是 Model View ViewModel 的缩写。mvvm 是一种设计思想。Model 层代 阅读全文
posted @ 2019-10-24 00:25 Nayek 阅读(251) 评论(0) 推荐(0) 编辑
摘要:"【V8引擎】浅析Chrome V8引擎中的垃圾回收机制和内存泄露优化策略" 垃圾回收机制 如何判断回收内容 如何确定哪些内存需要回收,哪些内存不需要回收,这是垃圾回收期需要解决的最基本问题。我们可以这样假定, 一个对象为活对象当且仅当它被一个根对象 或另一个活对象指向 。根对象永远是活对象,它是被 阅读全文
posted @ 2019-10-24 00:24 Nayek 阅读(315) 评论(0) 推荐(0) 编辑
摘要:作用域相关问题 下面的代码打印什么内容,为什么? b函数(函数表达式定义函数)是一个相当于用const定义的常量,内部无法进行重新赋值,如果在严格模式下,会报错"Uncaught TypeError: Assignment to constant variable." 简单改造下面的代码,使之分别打 阅读全文
posted @ 2019-10-24 00:23 Nayek 阅读(287) 评论(0) 推荐(0) 编辑
摘要:ES6 var、let 及 const 区别? 全局申明的var变量会挂载在window上,而let和const不会 var声明变量存在变量提升,let和const不会 let、const 的作用范围是块级作用域,而var的作用范围是函数作用域 同一作用域下let和const不能声明同名变量,而va 阅读全文
posted @ 2019-10-24 00:22 Nayek 阅读(175) 评论(0) 推荐(0) 编辑
摘要:this this的指向有哪几种情况? this代表函数调用相关联的对象,通常页称之为执行上下文。 1. 作为函数直接调用,非严格模式下,this指向window,严格模式下,this指向undefined; 2. 作为某对象的方法调用,this通常指向调用的对象。 3. 使用apply、call、 阅读全文
posted @ 2019-10-24 00:15 Nayek 阅读(101) 评论(0) 推荐(0) 编辑
摘要:从一道题浅说 JavaScript 的事件循环 ======================= 原文链接: https://github.com/Advanced Frontend/Daily Interview Question/issues/7 注:本篇文章运行环境为当前最新版本的谷歌浏览器(7 阅读全文
posted @ 2019-10-24 00:14 Nayek 阅读(313) 评论(0) 推荐(0) 编辑
摘要:事件机制 事件触发三阶段 事件触发有三个阶段: window 往事件触发处传播,遇到注册的捕获事件会触发 传播到事件触发处时触发注册的事件 从事件触发处往 window 传播,遇到注册的冒泡事件会触发 事件触发一般来说会按照上面的顺序进行,但是也有特例,如果给一个 body 中的子节点同时注册冒泡和 阅读全文
posted @ 2019-10-24 00:13 Nayek 阅读(232) 评论(0) 推荐(0) 编辑
摘要:为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。 JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以 阅读全文
posted @ 2019-10-24 00:13 Nayek 阅读(5045) 评论(0) 推荐(0) 编辑
摘要:正则表达式 创建正则表达式 1. 使用一个正则表达式字面量 2. 调用RegExp对象的构造函数 特殊字符 ^ 匹配输入的开始 $ 匹配输入的结束 \ 0次或多次 {0,} \+ 1次或多次 {1,} ? 0次或者1次 {0,1}。 用于先行断言 如果紧跟在任何量词 、 +、? 或 {} 的后面,将 阅读全文
posted @ 2019-10-24 00:10 Nayek 阅读(263) 评论(0) 推荐(0) 编辑
摘要:JS 变量类型 JS中有 6 种原始值,分别是: 1. boolean 2. number 3. string 4. undefined 5. symbol 6. null 引用类型: 1. 对象 2. 数组 3. 函数 JS中使用typeof能得到哪些类型? 其中一个奇怪的 null,虽然是基本变 阅读全文
posted @ 2019-10-24 00:09 Nayek 阅读(556) 评论(0) 推荐(0) 编辑
摘要:函数 JS运行分三步: 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行)。 预编译执行分五步: 一、创建AO对象(Activation Object 执行期上下文) 二、找形参和变量声明,将变量和形参名作为AO属性名,值为undefined. 变量声明提升 阅读全文
posted @ 2019-10-24 00:04 Nayek 阅读(287) 评论(0) 推荐(0) 编辑
摘要:创建对象的方法 字面量创建 构造函数创建 Object.create() 原型 JavaScript 的所有对象中都包含了一个 内部属性,这个属性所对应的就是该对象的原型 JavaScript 的函数对象,除了原型 之外,还预置了 prototype 属性 当函数对象作为构造函数创建实例时,该 pr 阅读全文
posted @ 2019-10-23 23:58 Nayek 阅读(215) 评论(0) 推荐(0) 编辑
摘要:对象 JS中有那些内置对象 数据封装类对象 String、Array、Object、Boolean、Number 其他对象 Math、Date、RegExp、Error、Function、Arguments ES6 新增对象 Promise、Map、Set、Symbol、Proxy、Reflect 阅读全文
posted @ 2019-10-23 23:52 Nayek 阅读(269) 评论(0) 推荐(0) 编辑
摘要:DOM DOM 事件的级别 DOM 事件模型 DOM 事件流 DOM 事件捕获的具体流程 Event 对象的常见应用 自定义事件 "DOM概述 | MDN" "DOM | MDN" "DOM操作" DOM事件级别 DOM0 onXXX类型的定义事件 element.onclick = functio 阅读全文
posted @ 2019-10-23 23:47 Nayek 阅读(144) 评论(0) 推荐(0) 编辑
摘要:BOM BOM 是 browser object model 的缩写, 简称浏览器对象模型。 主要处理浏览器窗口和框架, 描述了与浏览器进行交互的方法和接口, 可以对浏览器窗口进行访问和操作, 譬如可以弹出 新的窗口, 回退历史记录, 获取 url…… BOM 与 DOM 的关系 1. javacs 阅读全文
posted @ 2019-10-23 23:46 Nayek 阅读(168) 评论(0) 推荐(0) 编辑
摘要:Javascript 垃圾回收方法 标记清除(mark and sweep) 这是 JavaScript 最常见的垃圾回收方式,当变量进入执行环境的时候,比如函数中声明一个变量,垃圾回收器将其标记为“进入环境”,当变量离开环境的时候(函数执行结束)将其标记为“离开环境” 垃圾回收器会在运行的时候给存 阅读全文
posted @ 2019-10-23 21:04 Nayek 阅读(697) 评论(0) 推荐(0) 编辑
摘要:async 和 await 一个函数如果加上 async ,那么该函数就会返回一个 Promise async 就是将函数返回值使用 Promise.resolve() 包裹了下,和 then 中处理返回值一样,并且 await 只能配套 async 使用。 async 和 await 可以说是异步 阅读全文
posted @ 2019-10-23 21:01 Nayek 阅读(185) 评论(0) 推荐(0) 编辑
摘要:Promise 翻译过来就是承诺的意思,这个承诺会在未来有一个确切的答复,并且该承诺有三种状态,这个承诺一旦从等待状态变成为其他状态就永远不能更改状态了。 等待中(pending) 完成了(resolved)更准确的应该说是(fulfilled) 拒绝了(rejected) 当我们在构造 Promi 阅读全文
posted @ 2019-10-23 20:58 Nayek 阅读(120) 评论(0) 推荐(0) 编辑
摘要:Es6中箭头函数与普通函数的区别? 普通function的声明在变量提升中是最高的,箭头函数没有函数提升 箭头函数没有属于自己的 ,`arguments` 箭头函数不能作为构造函数,不能被new,没有property 不可以使用 yield 命令,因此箭头函数不能用作 Generator 函数 不可 阅读全文
posted @ 2019-10-23 20:57 Nayek 阅读(227) 评论(0) 推荐(0) 编辑
摘要:行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 定义:CSS 规范规定,每个元素都有 display 属性,确定该元素的类型,每个元素都有默认的 display 值,如 div 的 display 默认值为“block”,则为“块级”元素;span 默认 display 属性值为“in 阅读全文
posted @ 2019-10-23 20:47 Nayek 阅读(189) 评论(0) 推荐(0) 编辑
摘要:HTML5变化 "新的语义化元素" header footer nav main article section 删除了一些纯样式的标签 "表单增强" 新API 离线 (applicationCache ) 音视频 (audio, vidio) 图形 (canvans) 实时通信(websoket) 阅读全文
posted @ 2019-10-23 20:46 Nayek 阅读(147) 评论(0) 推荐(0) 编辑
摘要:meta中设置viewport 阻止用户手滑放大或缩小页面,需要在 index.html中添加meta元素,设置viewport。 CSS样式统一问题 我们需要重置页面样式,因为在不同的手机浏览器上,默认的css样式不是统一的。 解决方法:使用reset.css重置所有元素的默认样式 一像素边框问题 阅读全文
posted @ 2019-10-23 20:44 Nayek 阅读(276) 评论(0) 推荐(0) 编辑
摘要:简述一下你对 HTML 语义化的理解? 用正确的标签做正确的事情。 html 语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析; 即使在没有样式 CSS 情况下也以一种文档格式显示,并且是容易阅读的; 搜索引擎的爬虫也依赖于 HTML 标记来确定上下文和各个关键字的权重,利于 SEO 阅读全文
posted @ 2019-10-23 20:43 Nayek 阅读(153) 评论(0) 推荐(0) 编辑
摘要:请描述一下 cookies,sessionStorage 和 localStorage 的区别? cookie 是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密) cookie 数据始终在同源的 http 请求中携带(即使不需要),记会在浏览器和服务器间来回 阅读全文
posted @ 2019-10-23 20:42 Nayek 阅读(157) 评论(0) 推荐(0) 编辑
摘要:display与元素的隐藏 如果给一个元素设置了display: none,那么该元素以及它的所有后代元素都会隐藏,它是前端开发人员使用频率最高的一种隐藏方式。隐藏后的元素无法点击,无法使用屏幕阅读器等辅助设备访问,占据的空间消失。 效果图: visibility与元素的隐藏 给元素设置visibi 阅读全文
posted @ 2019-10-22 16:29 Nayek 阅读(170) 评论(0) 推荐(0) 编辑
摘要:link和@import两种导入样式表的方法比较 link属于HTML标签,而@import是CSS提供的 页面被加载的时候,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载 @import只在IE5以上才能识别,而link是HTML标签,无兼容问题 link方式的样式的权 阅读全文
posted @ 2019-10-22 16:18 Nayek 阅读(181) 评论(0) 推荐(0) 编辑
摘要:let 和 const 1. let 使用let,声明的变量仅在块级作用域内有效 不存在变量提升 暂时性死区:在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ) 不允许重复声明:let不允许在相同作用域内, 阅读全文
posted @ 2019-10-20 22:14 Nayek 阅读(109) 评论(0) 推荐(0) 编辑
摘要:区别 1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐;v-show是通过设置DOM元素的display样式,block为显示,none为隐藏; 2.编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切 阅读全文
posted @ 2019-10-20 21:54 Nayek 阅读(384) 评论(0) 推荐(0) 编辑
摘要:今天是犯傻的一天,第一回用sass遇到了bug: 结果就是:<style lang = 'scss'>、写成了<style lang = 'sass'> (脑子要清醒一点、太笨了) 阅读全文
posted @ 2019-10-19 22:07 Nayek 阅读(4101) 评论(0) 推荐(0) 编辑
摘要:前言 上次看到了koa-compose的代码,今天来说一下koa中间件的级联以及工作原理。 中间件工作原理 初始化koa实例后,我们会用use方法来加载中间件(middleware),会有一个数组来存储中间件,use调用顺序会决定中间件的执行顺序。 每个中间件都是一个函数(不是函数将报错),接收两个 阅读全文
posted @ 2019-10-19 13:23 Nayek 阅读(449) 评论(0) 推荐(0) 编辑
摘要:先来一道关于async/await、promise和setTimeout的执行顺序的题目: 执行结果: 首先,我们先来了解一下基本概念: js EventLoop 事件循环机制: JavaScript的事件分两种,宏任务(macro-task)和微任务(micro-task) 宏任务:包括整体代码s 阅读全文
posted @ 2019-10-19 13:03 Nayek 阅读(625) 评论(0) 推荐(0) 编辑
摘要:1、callback回调地狱 2、promise解决回调地狱 3、async+await优雅处理异步 阅读全文
posted @ 2019-10-18 23:03 Nayek 阅读(553) 评论(0) 推荐(0) 编辑
摘要:1.typeof 控制台输出结果: typeof对于基本数据类型判断是没有问题的,但是遇到引用数据类型(如:Array)是不起作用的。 2.instanceof 暂且不考虑null和undefined(这两个比较特殊),控制台输出结果: 可以看到前三个都是以对象字面量创建的基本数据类型,但是却不是所 阅读全文
posted @ 2019-10-14 15:32 Nayek 阅读(513) 评论(0) 推荐(0) 编辑
摘要:1、js类型 1.1 JavaScript语言规定了7种语言类型,他们分别是: 其中,除了Object是对象类型,其他的都是原始(基本)类型。 并且基本数据类型的值不可改变,对象数据类型的值可以改变 (写整齐一点) JS分两种数据类型: 基本数据类型:Number、String、Boolean、Nu 阅读全文
posted @ 2019-10-14 13:53 Nayek 阅读(987) 评论(0) 推荐(0) 编辑
摘要:1、flex属性 1.1 flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto. flex-grow: 定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。 flex-shrink:定义了项目的缩小比例,默认为1,即如果空间不足 阅读全文
posted @ 2019-10-14 13:24 Nayek 阅读(466) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示