![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS小知识
@星城
学习!
展开
-
浅克隆和深克隆
什么是浅克隆和浅克隆基本定义:浅克隆:直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址。深克隆:就是把数据赋值给对应的变量,从而产生一个与源数据不相干的新数据(数据地址已变化)。深拷贝,是拷贝对象各个层级的属性。使用:基本数据类型的使用:let a = 1;let b = a;console.log(a); //1a = 2;console.log(b); //1把 a 的值赋给 b,a的值发送变化时,b不会受到影响引原创 2020-08-26 22:05:52 · 282 阅读 · 0 评论 -
JS的异步加载和时间线
JSON理解和使用我们先说一下json:JSON是一种传输格式,它是服务端和客户端之间的数据传输的。JSON规范代码是类似对象的数据就像把对象用单引号引起来的例子:‘{“name”: “lilei”,“age”:18}’在这里有两个方法一个是stringify和parse这两个的作用理解:stringify的使用方法和理解使用方法var she = JSON.stringify();理解:这个方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串pars原创 2020-08-25 19:44:51 · 190 阅读 · 0 评论 -
jQuery的插件fullpage的使用和基本实现
fullpage的使用fullPage.js 是一个基于 jQuery 的插件,它能够很方便、很轻松的制作出全屏网站,主要功能有:支持鼠标滚动支持前进后退和键盘控制多个回调函数支持手机、平板触摸事件支持 CSS3 动画支持窗口缩放窗口缩放时自动调整可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等兼容性这个的是他自己下载的插件里面的jQuery的是1.8.3版本的,但是jQuery的兼容是兼容jQuery1.7以上的版本的。这个对浏览器的兼容是对IE8以上和其他四原创 2020-08-19 18:18:53 · 845 阅读 · 0 评论 -
async、await运用原理
前面我们讲到了宏任务和微任务,我们先来回顾一下:JavaScript 异步编程由于 JavaScript 是单线程执行模型,因此必须支持异步编程才能提高运行效率。异步编程的语法目标是让异步过程写起来像同步过程。运行机制在执行栈中执行一个宏任务。执行过程中遇到微任务,将微任务添加到微任务队列中。当前宏任务执行完毕,立即执行微任务队列中的任务。当前微任务队列中的任务执行完毕,检查渲染,GUI线程接管渲染。渲染完毕后,js线程接管,开启下一次事件循环,执行下一次宏任务(事件队列中取)。我原创 2020-08-10 19:58:39 · 505 阅读 · 0 评论 -
node.js的buffer
Buffer与字符编码介绍当前buffer和字符串之间转换时,可以指定字符编码。如果未指定字符编码,则使用utf-8作为默认值。例:const buf = Buffer.from('hello world', 'utf8');console.log(buf.toString('hex'));// 打印: 68656c6c6f20776f726c64console.log(buf.toString('base64'));// 打印: aGVsbG8gd29ybGQ=console.l原创 2020-07-29 14:49:20 · 203 阅读 · 0 评论 -
TypeScript和JavaScript的基础语法对比
JavaScript里面的数据类型JavaScript的数据类型分为2大类:原始数据类型和引用数据类型原始数据类型: object、 number、 string、 boolean、 null、 undefined引用数据类型: object类型的Array 、Date、functionJavaScript中的变量【1】JS中变量的声明: var 变量名=值;【2】JS中变量的使用注意的事项: A. js中的变量的名称和java中标识符的命名保持一致就可以了。 B. js中原创 2020-07-29 13:08:39 · 945 阅读 · 0 评论 -
JavaScript API 的使用(百度地图)
百度地图JavaScript API 的使用在使用这些控件和方法之前我们要做的准备:1、我先要创建一个在百度app文档里面的密匙注意:在那个白名单里面只需要填写一个星号就行,星号是表示所有人都可进行调用这个密匙的意思2、再创建一个html文件,在文件你面要写上一个存放地图的div,然后在css样式表里面写这样的一个样式:<style> html{ height: 100%; } body{原创 2020-07-22 00:38:05 · 471 阅读 · 0 评论 -
如何避免频繁的去执行函数(函数防抖和节流)
我们在平时的前端开发中,会有很多场景会频繁触发事件。比如以下情况:window对象的resize、scroll事件拖拽时的mousemove事件文字输入、自动完成的keyup事件但是我们有时候,为了避免在某一时间段内事件的频繁使用增加了服务器的压力,我们这个时候就要讲到函数防抖和节流了!函数防抖函数防抖是指对于当事件在某个时间段被触发后再执行的回调,如果这个时候又重新被触发,则重新开始计时,短时间内多次触发同一事件,只执行最后一次,或者只执行最开始的一次,中间的不执行。1). 封装一个函数原创 2020-07-20 20:01:59 · 873 阅读 · 0 评论 -
JS 微任务和宏任务(面试题常用)
javascript事件循环同步任务:直接通过主线程执行,如script代码异步任务: 进入Event Table,并注册回调函数——> Event Queue,等主线程的执行栈为空时候,读取Event Queue里面的函数就,进入主线程。如setTimeout,promise.then()等;javascript是单线程的,但是浏览器是多线程的,典型的浏览器有如下线程:javascript引擎线程界面渲染线程浏览器事件触发线程Http请求线程关于javaScript的单线程原创 2020-07-14 19:18:19 · 11265 阅读 · 5 评论 -
Ajax的Promise应用
异步回调的问题之前处理异步是通过纯粹的回调函数的形式进行处理很容易进入到回调地狱中,剥夺了函数return的能力问题可以解决,但是难以读懂,维护困难稍有不慎就会踏入 回调地狱—嵌套层次深,不好维护在实际的使用中,有非常多的应用场景我们不能立即知道应该如何继续往下执行。最常见的一个场景就是ajax请求。通俗来说,由于网速的不同,可能你得到返回值的时间也是不同的,这个时候我们就需要等待,结果出来了之后才知道怎么样继续下去。// 简单的ajax原生实现var context;var xhr =原创 2020-07-13 19:41:43 · 1901 阅读 · 0 评论 -
jQuery与$冲突问题
Jquery的$ 命名冲突在Jquery中,$ 是JQuery的别名,所有使用 $ 的地方也都可以使用JQuery来替换,如 $ ("#msg")等同于JQuery("#msg") 的写法。然而,当我们引入多个js库后,在另外一个js库中也定义了$ 符号的话,那么我们在使用$符号时就发生了冲突。原生js和jQuery加载模式不同原生js会等DOM加载完成,图片等资源也加载完成再执行;jQuery会等DOM加载完成,但不会等图片等资源加载完成就会执行。多个入口函数window.onloa原创 2020-05-17 17:10:30 · 702 阅读 · 0 评论 -
JS 阻止事件冒泡和默认事件
如何阻止事件冒泡,这里先拓展个知识点:DOM事件流存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。DOM标准事件流的触发的先后顺序为:先捕获再冒泡。即当触发dom事件时,会先进行事件捕获,捕获到事件源之后通过事件传播进行事件冒泡。不同的浏览器对此有着不同的实现,IE10及以下不支持捕获型事件,所以就少了一个事件捕获阶段,IE11、Chrome、Firefox、Safari等浏览器则同...原创 2020-04-12 12:39:52 · 1355 阅读 · 1 评论 -
JS 页面像素小数部分精确取值
Problem:JS获取HTML等元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px。Example:这里就很醒目的可以发现,当你想要获取HTML元素的宽时,得到的数字却是一个整数,但是HTML实际的值却是小数位,所以就要提到一个名词:浮点数。例如:JavaScript 中的数字类型只有 Number 一种,Number 类型采用 IEEE754 标准中的 “双精度...原创 2020-04-12 11:40:39 · 620 阅读 · 0 评论 -
DOM节点以及节点之间的关系
三大属性所有的Node(元素、属性、文本)对象都是document的 子代节点nodeType 节点类型(number)document 9element 1attrbute 2text 3节点名 (nodeName)document -> #document标签元素 -> 全大写的标签名属性名 -> attitude文本节点 -> #tex...原创 2020-03-15 13:15:02 · 2306 阅读 · 0 评论 -
闭包
什么是闭包?函数与对其状态即词法环境(lexical environment)的引用共同构成闭包。也就是说,闭包可以让你从内部函数访问外部函数作用域。标题在JavaScript,函数在每次创建时生成闭包。闭包的特点1. 在一个函数内部定义另外一个函数,并且返回内部函数或者立即执行内部函数。2. 内部函数可以读取外部函数定义的局部变量3. 让局部变量始终保存在内存中。也就是说,闭包...原创 2020-03-01 12:08:56 · 143 阅读 · 0 评论 -
JS预编译对象 AO对象与GO对象
javascript中的构造函数对象JavaScript 是面向对象的语言,引用数据类型都是对象,包括函数也是对象,同时还可以通过 Object 对象自定义对象。但是,和其他面向对象语言(如 Java 等高级语言)比,也有很大差异,JS 中没有类或接口的概念,即不能直接定义抽象的类,也不能直接实现继承。不过,为了编程的方便,我们可以在 JS 中模拟类和继承的行为。创建对象实例或类(虽然没有类的概...原创 2020-02-23 12:28:39 · 840 阅读 · 0 评论