
JS
文章平均质量分 72
kelly0721
这个作者很懒,什么都没留下…
展开
-
JS - Promise的各种面试问题及分析
Promise的各种面试问题及分析原创 2022-10-19 20:22:39 · 1201 阅读 · 0 评论 -
JS - 防抖与节流
防抖与节流的函数实现原创 2022-10-01 22:16:23 · 995 阅读 · 0 评论 -
JS - 深入理解 Javascript 原型和闭包
深入理解 Javascript 原型和闭包原创 2022-09-26 17:56:40 · 557 阅读 · 0 评论 -
JS - 作用域和执行上下文的区别
作用域、执行上下文原创 2022-09-26 15:55:03 · 835 阅读 · 0 评论 -
JS - 异步机制
JavaScript异步机制靠的是消息队列和事件循环原创 2022-09-20 22:04:43 · 1204 阅读 · 0 评论 -
JS-普通函数和箭头函数的this区别
想搞清楚 this 的指向,只需要清楚是谁在调用就好了。一、四种情况的调用直接调用的默认绑定, this 指向一定是全局对象(浏览器的话是 window)。在严格模式下其值会是 undefined。对象调用的隐式绑定, this 指向就是这个调用的对象。call()/apply() 方式的显式绑定, this 指向传入的对象。new 方式的绑定规则, this 指向这个构...原创 2019-10-19 15:37:45 · 540 阅读 · 0 评论 -
JS - NaN
一、特性ES6之后,Number也多了一个静态属性NaN1. typeoftypeof NaN // numbertypeof Number.NaN // number2. 不等于自身NaN === NaN // falseNumber.NaN === NaN // false3. 不能修改自身属性新的ES标准中, 不可配置,不可枚举。也就是说不可以被删除delete,不可以被改写, 也不可以改写配置。delete NaN // falseNaN = 1 // 1NaN ==原创 2021-10-29 14:36:46 · 196 阅读 · 0 评论 -
JS - reduce的用法
JS - reduce的用法原创 2021-10-24 18:54:30 · 1157 阅读 · 0 评论 -
JS - Web端的点九图
点九图原创 2021-08-25 16:28:48 · 2020 阅读 · 2 评论 -
JS - 设配设备的的平滑滚动
设配设备的的平滑滚动原创 2021-08-24 14:40:40 · 399 阅读 · 0 评论 -
JS - 常见的排序算法
一、冒泡排序原理:比较两个相邻的元素,将值大的元素交换至右端。const arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];function bubbleSort (arr) { let len = arr.length; for (var j = 0; j < len - 1; j++) { for (var i = 0; i <len -1 - j; i++) { if (a原创 2021-06-22 16:26:33 · 128 阅读 · 0 评论 -
JS - 内存和内存泄漏
一、内存的生命周期内存的生命周期可以分为三个部分分配你所需要的内存使用分配到的内存(读、写)不需要时将其释放\归还1. 内存内存的分配方式分为:静态内存分配动态内存分配区别:静态内存动态内存固定大小大小不固定在编译时执行在运行时执行分配给堆分配给栈先进先出没有特定的顺序2. 使用读写基本变量或对象的属性、传参等操作,都涉及到了内存的使用。3. 释放对于不再使用的内存,应当及时释放。二、 V8内存结构1.栈内存栈用于静原创 2021-05-15 22:45:18 · 369 阅读 · 2 评论 -
JS -原型与原形链
原型和原形链原创 2021-05-13 23:18:25 · 488 阅读 · 1 评论 -
JS - 六种继承方式
JS继承——原型链/构造函数/组合/原型式/寄生式/寄生组合/Class extends原创 2021-05-06 09:59:39 · 323 阅读 · 1 评论 -
JS - 闭包
第一个例子for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000);}console.log(i);55,5,5,5,5二、第二个例子输出 5 -> 0,1,2,3,4for (var i = 0; i < 5; i++) { (function(j) { // j = i setTimeout(functio原创 2021-05-06 09:59:04 · 252 阅读 · 0 评论 -
JS - JSON的理解
一、JSON概念JSON (JavaScript Object Notation) 一种简单的数据格式,是一种是轻量级的文本数据交换格式。JSON 使用 JavaScript 语法来描述数据对象,在js中会解析成对象。但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。二、JSON的结构JSON建构于两种结构:对象和数组。“名称/值”对的集合。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictiona原创 2021-05-06 09:56:37 · 585 阅读 · 0 评论 -
JS - 一道经典的JavaScript面试题
题目function Foo() { getName = function () { alert (1); }; return this;}Foo.getName = function () { alert (2);};Foo.prototype.getName = function () { alert (3);};var getName = function () { alert (4);};function getName() { alert (5);} //请写出以下原创 2021-04-22 17:19:33 · 185 阅读 · 1 评论 -
JS - 构造函数
一、函数的定义方式声明式函数定义: function 函数名 (){};这种定义方式,会将函数声明提升到该函数所在作用域的最开头,也是就无论你在这个函数的最小作用域的那儿使用这种方式声明的函数,在这个作用域内,你都可以调用这个函数为你所用。函数表达式:let fun = function(){}; 此方式定义的函数,只能在该作用域中,这段赋值代码执行之后才能通过fun()调用函数,否则,由于变量声明提升,fun === undefined。new Function 形式: var fun原创 2021-04-21 13:48:15 · 255 阅读 · 0 评论 -
JS - 获取文件扩展名
正则表达式function getFileExtension1(filename) { return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename)[0] : undefined;}String的split方法function getFileExtension2(filename) { return filename.split('.').pop();}String的slice,lastIndexOf方法func.原创 2021-04-17 22:49:45 · 279 阅读 · 0 评论 -
JS - 生成随机数的方法汇总
一、随机浮点数的生成生成 [ 0, 1 ) 范围内的随机数(大于等于0,小于1)var random = Math.random();生成 [ n, m ) 范围内的随机数(大于等于n,小于m)var random = Math.random()*(m-n)+n生成 [n,m]、(n,m)、(n,m] 范围内的随机数//取得[n,m]范围随机数function fullClose(n,m) { var result = Math.random()*(m+1-n)+n; whil原创 2021-04-17 22:22:34 · 15345 阅读 · 0 评论 -
JS - 判断是否为对象
1、toString(推荐)const obj = {};Object.prototype.toString.call(obj) === '[object Object]'2、constructorconst obj = {};obj.constructor === Object3、instanceof需要注意的是由于数组也是对象const obj = {}obj instanceof Object //trueconst arr = []arr instanceof Objec原创 2021-04-08 22:15:39 · 110 阅读 · 0 评论 -
JS - 判断是否相等
JavaScript提供三种不同的值比较操作原创 2021-03-12 21:47:25 · 614 阅读 · 0 评论 -
JS - 浮点数运算的精度问题
浮点数溢出平时我们在进行数据运算的时候,会遇到浮点数溢出的情况// 加法0.1 + 0.2 = 0.300000000000000040.2 + 0.4 = 0.6000000000000001 // 减法1.5 - 1.2 = 0.300000000000000040.3 - 0.2 = 0.09999999999999998 // 乘法19.9 * 100 = 1989.99999999999989.7 * 100 = 969.9999999999999 // 除法 0.3原创 2021-03-09 17:48:21 · 1040 阅读 · 0 评论 -
JS - Promise
Promise 的原理、实现原创 2021-02-26 13:31:39 · 367 阅读 · 0 评论 -
JS-数字加千分符
几种给数组加千分符的方法原创 2021-02-15 14:22:08 · 1570 阅读 · 1 评论 -
JS - 判断对象是否为空
判断对象是否为空的四种方法原创 2021-01-18 19:14:59 · 188 阅读 · 0 评论 -
JS - document.referrer
document.referrer 意外丢失的情况原创 2021-01-17 11:53:19 · 476 阅读 · 0 评论 -
JS- 数字自增动画
数字自增动画原创 2020-12-31 19:02:01 · 1165 阅读 · 1 评论 -
JS- Number(),parseInt()和parseFloat()的区别
Number(),parseInt()和parseFloat()的区别原创 2020-12-31 16:29:48 · 284 阅读 · 0 评论 -
JS - toLocaleString() 方法
object.toLocaleString([locales [, options]])原创 2020-12-31 14:41:12 · 12711 阅读 · 1 评论 -
JS -正则教程
正则教程原创 2020-12-25 14:50:19 · 166 阅读 · 0 评论 -
JS - 隐式类型转换
JavaScript中的隐式类型转换原创 2020-12-24 13:54:19 · 245 阅读 · 0 评论 -
JS - e.preventDefault()与e.stopPropagation()
事件冒泡e.stopPropagation()阻止事件冒泡事件冒泡,就是字元素的onClick事件被触发时,会同时触发父元素的 onClick 事件一般来讲,click事件的顺序应该是p -> div -> body -> html -> document所以,以下代码的触发顺序是 children -> parent -> body如果 e.st...原创 2020-02-10 17:35:07 · 2319 阅读 · 0 评论 -
JS - 常用函数(二)
一、Number1. string强制转换为数字使用 ES6 中的 Number方法,再用Number.isNaN来判断是否为 NaN用运算符+1来转化为数字(实际上是调用 .valueOf方法),再使用 a!==a 来判断是否为 NaN,因为 NaN!==NaNfunction testNumber(val) { // 1. Number // val = Number...原创 2019-12-08 18:56:51 · 220 阅读 · 0 评论 -
JS数据结构 - 数组
创建和初始化数组var arr = new Array() //声明并初始化var arr = new Arrat(7) //指定数组的长度var arr = new Array('a','b','c') var arr = [1,2,3] //推荐常用方法concat:链接数组every:数组的每一项都是true,则返回true,否则返回falsefi...原创 2019-12-08 15:36:57 · 157 阅读 · 0 评论 -
JS -获取屏幕/浏览器高度
一、展示图二、屏幕信息window.screen.height:设备显示屏的高度这个是设备显示屏的高度,各个机型的显示屏高度都不一样,可以在系统设置中看window.screen.availHeight:屏幕的可用高度一般是显示屏高度减去显示屏工具栏的高度任务栏高度 = screen.height - screen.availHeight三、浏览器信息window.ou...原创 2019-12-07 16:48:17 · 10363 阅读 · 0 评论 -
JS - 常用函数
1. 生成随机颜色function getRandomColor() { return '#' + Math.floor(Math.random() * 16777215).toString(16);}2.生成相近颜色function sameColor(color: any, n: number) { let colorsArr = color.length === 6 ? ...原创 2019-12-02 23:12:22 · 145 阅读 · 0 评论 -
检测对象类型
现在掌握的检测对象类型有几种:typeofinstanceofObject.prototype.toString.call()严格比较运算符根据不同的情况做不同的选择吧。typeoftypeof 返回的结果是字符串,返回如下几个结果:“number”、“string”、“boolean”、“object”、“function” 和 “undefined”,即它只可以判断这几种...原创 2019-01-10 17:25:21 · 2565 阅读 · 0 评论 -
遍历对象属性及确保遍历的属性顺序
对象的属性分为两种:数据属性和访问器属性,也就是是否可枚举。对象属性分为原型属性和实例属性。原型属性是定义在对象的原型(prototype)中的属性,而实例属性是添加的新属性。Obejct.keys(obj),返回一个数组用于获取对象自身所有的可枚举的属性值,但不包括原型中的属性,然后返回一个由属性名组成的数组。test = () =&amp;amp;amp;gt; { const resul...原创 2019-01-03 14:47:02 · 5513 阅读 · 0 评论 -
JS-input:file
在chrome浏览器下,为了数据安全,input:file 是不能主动触发 click 事件的,所以,为了美化 input:file 可以使用 opacity:0 达到隐藏的效果。原创 2019-03-07 14:07:17 · 3349 阅读 · 0 评论