随笔分类 -  javascript

摘要:一、是什么 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一 SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统 SSO 一般都需要一个独立的认证中心(passport),子系统的登录均得通过passport,子系统 阅读全文
posted @ 2021-03-25 16:29 喆星高照 阅读(2318) 评论(0) 推荐(0) 编辑
摘要:一、是什么 不管怎样简单的需求,在量级达到一定层次时,都会变得异常复杂 文件上传简单,文件变大就复杂 上传大文件时,以下几个变量会影响我们的用户体验 服务器处理数据的能力 请求超时 网络波动 上传时间会变长,高频次文件上传失败,失败后又需要重新上传等等 为了解决上述问题,我们需要对大文件上传单独处理 阅读全文
posted @ 2021-03-24 09:25 喆星高照 阅读(552) 评论(0) 推荐(0) 编辑
摘要:一、用途 可视区域即我们浏览网页的设备肉眼可见的区域,如下图 在日常开发中,我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值(例如 100 px),从而实现一些常用的功能,例如: 图片的懒加载 列表的无限滚动 计算广告元素的曝光情况 可点击链接的预加载 二、实现方式 判断一个元素是否 阅读全文
posted @ 2021-03-22 10:38 喆星高照 阅读(9437) 评论(0) 推荐(1) 编辑
摘要:一、是什么 函数缓存,就是将函数运算过的结果进行缓存 本质上就是用空间(缓存存储)换时间(计算过程) 常用于缓存数据计算结果和缓存对象 const add = (a,b) => a+b;const calc = memoize(add); // 函数缓存calc(10,20);// 30calc(1 阅读全文
posted @ 2021-03-17 09:44 喆星高照 阅读(274) 评论(0) 推荐(0) 编辑
摘要:一、递归 递归(英语:Recursion) 在数学与计算机科学中,是指在函数的定义中使用函数自身的方法 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数 其核心思想是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解 一般来说,递归需要有边界条件、 阅读全文
posted @ 2021-03-11 09:27 喆星高照 阅读(294) 评论(0) 推荐(0) 编辑
摘要:reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 方法接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce() 的数组。 reduce() 的几个强大用法: 数组求和 var total = 阅读全文
posted @ 2021-03-10 17:40 喆星高照 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、是什么 正则表达式是一种用来匹配字符串的强有力的武器 它的设计思想是用一种描述性的语言定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的 在 JavaScript中,正则表达式也是对象,构建正则表达式有两种方式: 字面量创建,其由包含在斜杠之间的模式组成 co 阅读全文
posted @ 2021-03-08 10:16 喆星高照 阅读(603) 评论(0) 推荐(0) 编辑
摘要:一、是什么 AJAX全称(Asynchronous Javascript And XML) 即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页 Ajax的原理简单来说通过XmlHttpRequest对象 阅读全文
posted @ 2021-03-03 09:11 喆星高照 阅读(450) 评论(0) 推荐(0) 编辑
摘要:从两种数据类型说起 在js中,变量的类型可以大致分成两种:基本数据类型和引用数据类型,其中基本数据类型指的是简单的数据段,包括: Undefined Null Boolean Number String(字符串在一些其他语言中是被当做对象使用的,属于引用类型,但在js里是基本类型) 而引用类型的值指 阅读全文
posted @ 2021-03-01 14:29 喆星高照 阅读(121) 评论(0) 推荐(0) 编辑
摘要:在进行窗口的resize、scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕。此时我们可以采用debounce(防抖)和throttle(节流)的方式来减少调用频率,同时又不影响实际效果。 函数防抖 函数防抖(debounce):当持续触 阅读全文
posted @ 2021-03-01 11:09 喆星高照 阅读(89) 评论(0) 推荐(0) 编辑
摘要:一、是什么 事件代理,俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素 我们知道,事件流的都会经过三个阶段:捕获阶段 -> 目标阶段 -> 冒泡阶段,而事件委托就是在冒泡阶段完成 事件委托,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正 阅读全文
posted @ 2021-03-01 10:23 喆星高照 阅读(1112) 评论(0) 推荐(0) 编辑
摘要:1.方法一:用定时器定时,没跑完定时器,点击按钮无效 <script> var isClick = true; $("button").on("click",function(){ if(isClick) { isClick = false; //事件 console.log('我被点击了'); / 阅读全文
posted @ 2021-03-01 10:16 喆星高照 阅读(4217) 评论(0) 推荐(0) 编辑
摘要:try 测试代码块的错误。 catch 语句处理错误。 throw 创建并跑出错误。 try { //在这里运行代码 抛出错误 } catch(err) { //在这里处理错误 } 下面是一个实例: <p>请输出一个 5 到 10 之间的数字:</p> <input id="demo" type=" 阅读全文
posted @ 2021-02-25 17:23 喆星高照 阅读(706) 评论(0) 推荐(0) 编辑
摘要:JS中会使用typeof 和 instanceof来判断一个变量是否为空或者是什么类型的。 ES6规范中有7种数据类型,分别是基本类型和引用类型两大类 基本类型(简单类型、原始类型):String、Number、Boolean、Null、Undefined、Symbol 引用类型(复杂类型):Obj 阅读全文
posted @ 2021-02-25 16:51 喆星高照 阅读(168) 评论(0) 推荐(0) 编辑
摘要:一、是什么 继承(inheritance)是面向对象软件技术当中的一个概念 如果一个类别B“继承自”另一个类别A,就把这个B称为“A的子类”,而把A称为“B的父类别”也可以称“A是B的超类” 继承的优点 继承可以使得子类具有父类别的各种属性和方法,而不需要再次编写相同的代码 在子类别继承父类别的同时 阅读全文
posted @ 2021-02-25 16:45 喆星高照 阅读(151) 评论(0) 推荐(0) 编辑
摘要:一、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 由于DOM是一个树结构,如果在父子节点绑定事件时候,当触发子节点的时候,就存在一个顺序问题,这就涉及到了事件流的概念 事件流都会经 阅读全文
posted @ 2021-02-25 16:42 喆星高照 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一、定义 函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定) this 关键字是函数运行时自动生成的一个内部对象,只能在函数内部使用,总指向调用它的对象 举个例子: 阅读全文
posted @ 2021-02-23 09:09 喆星高照 阅读(409) 评论(0) 推荐(0) 编辑
摘要:一、介绍 模块,(Module),是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。 两个基本的特征:外部特征和内部特征 外部特征是指模块跟外部环境联系的接口(即其他模块或程序调用该模块的方式,包括有输入输出参数、引用的全局变量)和模块的功能 内部特征是指模块的内部 阅读全文
posted @ 2021-02-03 19:21 喆星高照 阅读(260) 评论(0) 推荐(0) 编辑
摘要:数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会 下面对数组常用的操作方法做一个归纳 增 下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响 push() unshift() splice() concat() push() push() 阅读全文
posted @ 2021-02-03 19:11 喆星高照 阅读(193) 评论(0) 推荐(0) 编辑
摘要:首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量。 使用 取代== ==和!=操作符会在需要的情况下自动转换数据类型。但 和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快。 [10] 10 // is fals 阅读全文
posted @ 2021-01-18 17:45 喆星高照 阅读(72) 评论(0) 推荐(0) 编辑

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