JS
文章平均质量分 70
程序媛~~~
这个作者很懒,什么都没留下…
展开
-
JS-复习回调构造函数对象
JS-复习回调构造函数对象本阶段学习内容:less:css预处理语言jquery:js的类库git:项目版本管理工具bootstrap:ui库webpack:打包工具gulp:打包工具http:协议ajax:可以实现前后端的通讯session,cookie,storage:对数据进行缓存处理的,实现前后端的通讯。安全es6:mongodb:node:一 回调函数1 基础部分将一个函数作为参数传递给另外一个函数,并得到执行,那么称该函数为回调函数。作用是解决异步行为。 f原创 2021-05-12 14:05:56 · 321 阅读 · 1 评论 -
手写 Promise
手写 Promise实现一个简易版 Promise在完成符合 Promise/A+ 规范的代码之前,我们可以先来实现一个简易版 Promise,因为在面试中,如果你能实现出一个简易版的 Promise 基本可以过关了。那么我们先来搭建构建函数的大体框架const PENDING = 'pending'const RESOLVED = 'resolved'const REJECTED = 'rejected'function MyPromise(fn) { const that = thi转载 2021-05-10 20:27:22 · 68 阅读 · 0 评论 -
JS 异步编程及常考面试题
JS 异步编程及常考面试题并发(concurrency)和并行(parallelism)区别涉及面试题:并发与并行的区别?异步和这小节的知识点其实并不是一个概念,但是这两个名词确实是很多人都常会混淆的知识点。其实混淆的原因可能只是两个名词在中文上的相似,在英文上来说完全是不同的单词。并发是宏观概念,我分别有任务 A 和任务 B,在一段时间内通过任务间的切换完成了这两个任务,这种情况就可以称之为并发。并行是微观概念,假设 CPU 中存在两个核心,那么我就可以同时完成任务 A、B。同时完成多个任务转载 2021-05-10 20:26:28 · 223 阅读 · 0 评论 -
JS 思考题
JS 思考题这种方式不仅能加深你对知识点的理解,同时也能帮助你串联起多个碎片知识点。一旦你拥有将多个碎片知识点串联起来的能力,在面试中就不会经常出现一问一答的情况。如果面试官的每个问题你都能引申出一些相关联的知识点,那么面试官一定会提高对你的评价。思考题一:JS 分为哪两大类型?都有什么各自的特点?你该如何判断正确的类型?首先这几道题目想必很多人都能够很好的答出来,接下来就给大家一点思路讲出与众不同的东西。思路引导:对于原始类型来说,你可以指出 null 和 number 存在的一些问题。对原创 2021-05-10 20:25:53 · 112 阅读 · 0 评论 -
JS 进阶知识点及常考面试题
JS 进阶知识点及常考面试题手写 call、apply 及 bind 函数涉及面试题:call、apply 及 bind 函数内部实现是怎么样的?首先从以下几点来考虑如何实现这几个函数不传入第一个参数,那么上下文默认为 window改变了 this 指向,让新的对象可以执行该函数,并能接受参数那么我们先来实现 callFunction.prototype.myCall = function(context) { if (typeof this !== 'function') {原创 2021-05-10 20:25:12 · 94 阅读 · 0 评论 -
JS 基础知识点及常考面试题(一)
JS 基础知识点及常考面试题(一)原始(Primitive)类型涉及面试题:原始类型有哪几种?null 是对象嘛?在 JS 中,存在着 6 种原始值,分别是:booleannullundefinednumberstringsymbol首先原始类型存储的都是值,是没有函数可以调用的,比如 undefined.toString()[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bG7czNcW-1620649453522)(C:\Users\王秀\Ap原创 2021-05-10 20:24:34 · 126 阅读 · 1 评论 -
Event Loop
Event Loop进程与线程涉及面试题:进程与线程区别?JS 单线程带来的好处?相信大家经常会听到 JS 是单线程执行的,但是你是否疑惑过什么是线程?讲到线程,那么肯定也得说一下进程。本质上来说,两个名词都是 CPU 工作时间片的一个描述。进程描述了 CPU 在运行指令及加载和保存上下文所需的时间,放在应用上来说就代表了一个程序。线程是进程中的更小单位,描述了执行一段指令所需的时间。把这些概念拿到浏览器中来说,当你打开一个 Tab 页时,其实就是创建了一个进程,一个进程中可以有多个线程,比原创 2021-05-10 20:23:00 · 51 阅读 · 0 评论 -
JS 基础知识点及常考面试题(二)
JS 基础知识点及常考面试题(二)涉及面试题:== 和 === 有什么区别?对于 == 来说,如果对比双方的类型不一样的话,就会进行类型转换,这也就用到了我们上一章节讲的内容。假如我们需要对比 x 和 y 是否相同,就会进行如下判断流程:首先会判断两者类型是否相同。相同的话就是比大小了类型不相同的话,那么就会进行类型转换会先判断是否在对比 null 和 undefined,是的话就会返回 true判断两者类型是否为string和number,是的话就会将字符串转换为numb原创 2021-05-10 20:23:37 · 63 阅读 · 0 评论 -
JS面试题-闭包异步-变量提升-引用传值-this
闭包面试题和异步的题目 var name = "The Window"; var object = { name: "My Object", getNameFunc: function () { return function () { return this.name; }; } }; console.log(object.getName原创 2021-05-08 10:30:45 · 212 阅读 · 0 评论 -
JS-数组和函数冒泡排序递归函数
数组和函数数组计算数组中所有元素的和 // 定义数组 var nums = [23, 789, 67, 500, 123, 78, 900, 671]; // 1.计算数组中所有元素的和 var sum = 0; for (i = 0; i < nums.length; i ++) { sum += nums[i]; } console.log('数组中所有元素的和为:',s原创 2021-05-08 10:30:07 · 248 阅读 · 0 评论 -
JS-内置对象&内置构造函数&事件-拖拽轮播图无缝滚动
内置对象&内置构造函数日期时间格式// 创建一个当前时刻的日期时间对象var date = new Date();// 获取date对象中的年月日时分秒var y = date.getFullYear();var m = date.getMonth() + 1;var d = date.getDate();var h = date.getHours();var i = date.getMinutes();var s = date.getSeconds();// 对个位数前面补原创 2021-05-08 10:29:00 · 284 阅读 · 0 评论 -
JS-逻辑运算符-累加累减-分支循环结构-九九乘法表
累加累减var num = 20;var res = (num ++) - (++ num) + (num --) - (++ num) + (num --); console.log(res); // 20 console.log(num); // 21 // 20 num = 21 // - // 22 num = 22 // +原创 2021-05-08 10:25:01 · 615 阅读 · 0 评论 -
JS-闭包-对象高级(原型链)-单线程和事件轮询机制
JS-闭包-对象高级(原型链)-单线程和事件轮询机制1 回顾1.1 垃圾回收机制- 引用计数 1. 对象有一个标记,记录被引用的次数。 2. 对象每被引用一次,标记就+1, 对象被取消引用,标记 -1 3. 如果对象的引用标记变为 0,变为垃圾对象,被清除 - 标记清除 1. 系统不停地循环进行标记清除,每次清除分为标记阶段和清除阶段 2. 标记阶段:从根对象开始层层遍历,所有能访问到的对象进行标记,有标记的对象成为可到达对象 3. 对内存中所有的对象进行线性遍历,所有原创 2021-05-08 09:56:02 · 145 阅读 · 0 评论 -
JS-垃圾回收机制-执行栈执行上下文-闭包
JS-垃圾回收机制-执行栈执行上下文-闭包1 JavaScript 中的垃圾回收机制(GC)1.1 垃圾回收相关概念① 什么是垃圾没有被使用(引用)的对象就是垃圾。② 什么是垃圾回收没有被引用的对象被销毁,内存被释放,就是垃圾回收。C、C++ 等编程语言需要手动垃圾回收。Java、JavaScript、PHP、Python 等变成语言自动垃圾回收。③ 变量的生命周期(何时会被回收)全局变量: 整个脚本执行完毕,全局变量就被销毁。局部变量: 函数调用完毕,局部变量就被销毁。④ 垃圾没有原创 2021-05-08 09:54:40 · 95 阅读 · 0 评论 -
JS-图片其他事件-Event对象-事件委托-DOM对象
JS-图片其他事件-Event对象-事件委托-DOM对象1 回顾1. 事件回调函数中 this 的指向2. 鼠标事件 click dblclick contextmenu mouseenter mouseleave mousedown mouseup mousemove 3. 键盘事件 keydown keyup keypress 4. 文档事件 load DOMContentLoaded beforeunload 5. 表单事件原创 2021-05-08 09:53:26 · 329 阅读 · 0 评论 -
JS-鼠标-键盘-文档-表单事件
JS-鼠标-键盘-文档-表单事件1 回顾1.1 节点创建、添加、删除、替换、克隆创建元素:document.createElement('标签名')添加子节点:父元素.appendChild(节点)父元素.insertBefore(新节点,旧节点)删除子节点:父元素.removeChild()替换子节点元素.replaceChild(新节点, 旧节点)克隆节点:元素.cloneNode(true)1.2 HTML DOM表单: form 元素: submit()原创 2021-05-08 09:52:00 · 130 阅读 · 0 评论 -
JS-节点增删改-document-HTML DOM-事件
Day14 DOM 课堂笔记1 回顾1.1 操作元素的样式1. 读写元素的行内样式 元素.style.属性名 2. 读取元素的计算样式 getComputedStyle(元素).属性名3. 操作元素的类名 className classList1.2 读写元素中的文本内容innerHTMLouterHTMLinnerTexttextContent1.3 读取元素的尺寸offsetWidth / offsetHeihgtclientWidth /原创 2021-05-08 09:50:26 · 385 阅读 · 0 评论 -
JS-元素的样式操作-文本内容-位置
JS-元素的样式操作-文本内容-位置1 回顾1.1 从文档中获取元素1. 通过 ID 名 document.getElementById() 2. 通过标签名 document.getElementsByTagName() element.getElementsByTagName() 3. 通过类名 document.getElementsByClassName() element.getElementsByClassName() 4. 通过 na原创 2021-05-07 16:18:19 · 354 阅读 · 0 评论 -
JS-DOM-节点-获取元素-文档结构-元素的属性
JS-DOM-节点-获取元素-文档结构-元素的属性1 回顾1.1 内置构造函数 FunctionFunction 的实例的属性和方法: length call() applay() bind()1.2 BOM1. window name length innerWidth innerHeight alert() confirm() prompt() open() close() print() scrollTo() scrollBy() setInterval(转载 2021-05-07 16:16:38 · 246 阅读 · 0 评论 -
JS-function-BOM(window,history,location,navigator,screen)
JS-内置构造函数function-BOM1 回顾NumberNumber 实例的属性和方法: toFixed() toString()Number 构造函数本身的属性和方法: Number.MAX_VALUE Number.MIN_VALUEStringString 实例的属性和方法: length charAt() charCodeAt() indexOf() lastIndexOf() slice() substring() substr() split()原创 2021-05-07 15:34:06 · 81 阅读 · 0 评论 -
JS-内置对象-Boolean-Number-String-Math-Date-Array
JS-内置对象-构造函数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1Z5e4H4-1620368930653)(C:\Users\王秀\AppData\Roaming\Typora\typora-user-images\image-20210408114150517.png)] 此图为构造函数自己的原型链在线文档:https://developer.mozilla.org/z原创 2021-05-07 14:33:08 · 101 阅读 · 0 评论 -
JS-原型-原型链-值和引用类型
JS-原型-原型链-值和引用类型1 回顾1.1 Object 类型的对象1. 创建 Object 类型的对象 ① 直接量 {} ② Object 构造函数 ③ Object 函数 2. 读写对象的属性 . [] 必须使用[]语法的两种情况:① 属性名不符合标识名规范 ② 使用变量表示属性名 3. 遍历对象中所有的属性 for (var i in 对象) { 对象[i]; } 4. 删除对象中的属性 delete 对原创 2021-05-07 14:28:23 · 284 阅读 · 0 评论 -
JS-对象-构造函数-实例化-this
JS-对象-构造函数-实例化-this1 回顾1. 定义函数的方式 function 关键字 表达式方式 Function 构造函数 2. 函数的调用和返回值3. 函数的参数 形参和实参 形参的默认值 arguments4. 变量的作用域和作用域链5. 变量提升和函数提升6. 匿名函数7. 自调用函数(立即执行的函数)8. 回调函数9. 递归函数 2 Object 对象2.1 什么是 ObjectObject 是值的原创 2021-05-07 14:25:11 · 1373 阅读 · 0 评论 -
JS-函数(匿名-自调用-回调)-递归
JS-函数(匿名-自调用-回调)-递归1 回顾 函数1.1 函数概念函数是具有特定功能的代码块。函数在 JavaScript 是一种数据类型,属于对象类型,使用 typeof 判断返回 function。1.2 声明函数的三种方式// function 关键字方式function 函数名(参数...) { 语句...} // 表达式形式var 函数名 = function(参数...) { 语句...} // Function 构造函数var 函原创 2021-05-07 11:56:33 · 802 阅读 · 0 评论 -
JS-函数(调用返回值)-形参实参-作用域
JS- 函数-形参实参-作用域1 回顾 数组1. 什么是数组 值的有序集合 数组中的每个成员称之为元素 元素具有位置,称之为索引 索引从 0 开始,必须是连续的 2. 声明数组三种方式 ① 数组直接量 [] ② Array() 函数 ③ Array() 构造函数3. 数组元素的读写 [] 和 索引 4. 稀疏数组5. 遍历数组6. 数组元素的添加和删除 6.1 添加数组元素 ① 指定下一个索引,利用 length原创 2021-05-07 11:51:49 · 709 阅读 · 0 评论 -
JS-数组-声明方式-读写添加删除-遍历
JS-数组1 回顾1.1 条件语句(分支结构)/*单向分支*/if (条件表达式) { }/*双向分支*/if (条件表达式) { } else { }/*多向分支 elseif*/if (条件表达式) { } else if (条件表达式) { } else if (条件表达式) { } else { }/*多向分支 switch case*/switch (表达式) { case 表达式可能的值: 语句:原创 2021-05-07 11:49:39 · 148 阅读 · 0 评论 -
JS-循环(while,for,嵌套)-跳转语句(break,continue)
循环-跳转语句1 回顾// 1. 单向分支if (条件表达式) { 语句...} // 2. 双向分支if (条件表达式) { 语句...} else { 语句... } // 3. 多向分支 else ifif (条件表达式) { 语句...} else if (条件表达式) { 语句...} else if (条件表达式) { 语句...} else { } // 4. switch原创 2021-05-03 13:03:34 · 1364 阅读 · 0 评论 -
JS-分支结构(单向-双向-多向-嵌套)
分支结构1 回顾1.1 数据类型转换1. 数据类型转换规则 1.1 其他类型转为 number string 转 number: 纯数字字符串->对应的数字,空字符串->0; 其他->NaN boolean 转 number: true -> 1; false -> 0 undefined 转 number: NaN null 转 number: 0 1.2 其他类型转 字符串 1.3 其他类型转原创 2021-05-03 13:01:07 · 333 阅读 · 0 评论 -
JS-数据类型转换-运算符
数据类型转换-运算符1 回顾1.1 JavaScript 基本语法1. JS 在 HTML 中的使用方式 行内式 内嵌式 外链式 2. JS 中的注释 // /**/ 3. JS 严格区分大小写4. JS 语句结束符: 分号或者是换行1.2 变量1. 数据、直接量、变量 数据:计算机计算的就是数据,所有的信息通过数据来表示 直接量:直接使用数据就是直接量 变量:给数据取个名字,通过名字使用数据 2. 变量的意义 方便转载 2021-05-03 12:59:29 · 247 阅读 · 0 评论 -
JS-概述-基本语法-变量-数据类型
概述-基本语法-变量-数据类型1 JavaScript 概述① JavaScript 的特点JavaScript 是一门动态的,弱类型的,解释型的,基于对象的脚本语言。动态: 程序执行的时候才会确定数据类型。 静态: 书写代码的时候提前确定数据类型。弱类型: 数据类型可以自动转换。 强类型: 数据类型无法自动转换。解释型: 边编译,边运行,开发效率更高。 编译型: 先编译,后运行,运行效率更高。**脚本:**一般都是可以嵌在其它编程语言当中执行。② javaScript 的运行环境所有的高转载 2021-05-03 12:58:13 · 92 阅读 · 0 评论