![](https://img-blog.csdnimg.cn/20210716121703155.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JS
关于javascript相关知识的积累与记录
fanny_匚
这个作者很懒,什么都没留下…
展开
-
[] == ![] 结果为true是为什么?
抽象相等运算符会将其两端的表达式转换为数字值进行比较,尽管这个例子中,左右两端均被转换为 0,但原因各不相同。数组总是真值(truthy),因此右值的数组取反后总是为 false,然后在抽象相等比较中被被类型转换为 0。而左值则是另一种情形,空数组没有被转换为布尔值的话,尽管在逻辑上是真值(truthy),但在抽象相等比较中,会被类型转换为数字 0。原创 2023-02-08 21:38:21 · 157 阅读 · 0 评论 -
javascript设置颜色值的几种方法
H:Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360。本文链接:https://www.ngui.cc/51cto/show-560265.html。S:Saturation(饱和度)。取值为:0.0% - 100.0%L:Lightness(亮度)。取值为:0.0% - 100.0%A:Alpha透明度。原创 2023-02-08 16:34:12 · 2398 阅读 · 0 评论 -
节流和防抖
作用:是为了解决js的抖动问题什么是js的抖动?js的一些特殊的事件在触发的时候事件回调函数会持续触发.(input/resize/频繁的点击事件),这样影响性能,浪费网络资源防抖事件在持续触发的时候事件回调函数不会执行,只有在停止触发事件后特定的时间才会在执行时间回调函数.节流事件在持续触发的时候,事件回调函数以间隔固定的时间执行实现代码// 防抖let $btn = document.getElementById('btn');$btn.onclick = debounce(lu原创 2021-07-28 20:12:39 · 74 阅读 · 0 评论 -
new Date()基本使用
new Date()获取带有格式的时间单独调用new Date(); 显示这种格式 Mar 31 10:10:43 UTC+0800 2012 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) // 所以获取当前月份是myDate.getMonth原创 2021-07-18 20:21:11 · 31253 阅读 · 0 评论 -
javascript的算数运算符前自增和后自增的特点
写法:前自增: ++num后自增:num++特点共同点:对于变量自身而言是没有任何影响的,都是在自身的基础上+1不同点:在变量的赋值过程中,前自增是先自增在赋值,后自增是先赋值在自增常规示例var num = 10;var res = ++num;console.log(num); // 11console.log(res);// 11var num1 = 10;var res1 = num1++;console.log(num1); // 11console.l原创 2021-07-18 20:20:49 · 253 阅读 · 0 评论 -
使用reduce实现随想转数组,数组转对象
使用reduce实现随想转数组,数组转对象let obj = { 1:'aa', 2:'bb', 3:'cc', 4:'dd',}let obj_1 = [ { label:'name', value:'xioaming' }, { label:'age', value:12 }]let result_1 = obj_1.reduce((aa,itm)=>{ aa[itm.label] = itm.value; ret原创 2021-07-18 20:20:01 · 336 阅读 · 0 评论 -
内存概念:栈, 堆和深浅拷贝及复杂对象的深拷贝的实现
内存概念栈:栈中存储简单的数据类型,提供浏览器运行是的内存环境,可以理解为内存条堆:存储复杂数据类型,可以理解为硬盘JS数据类型简单数据类型: 字符串, 数字, 布尔, undefined, null复杂树类型: 所有的对象都是复杂数据类型(数组, 函数.)数据创建过程简单数据创建的过程1.创建一个值(存在栈中)2.声明一个变量,通过上下文关系对3.将创建的变量和值进行关联复杂数据类型创建过程:1.创建一个对象值,在堆中开辟一块空间存储数据,并对应有一个16进制的地址原创 2021-07-18 20:19:21 · 122 阅读 · 0 评论 -
JavaScript入门-第一章
众所周知,JavaScript 主要是控制网页的行为的(动态效果,交互事件).使用场景JavaScript 很是强大,应用的场景非常之多:1.网页特效2.游戏开发(cocos2d-js)3.服务端开发(NODE.js)4.命令行工具(NODE.js)5.桌面程序(Electron)6.App(Cordova)7.控制硬件-物联网(Ruff)组成部分ECMAScript - javascript的核心ECMAScript定义了JavaScript 的语言规范Java原创 2021-07-18 20:18:56 · 70 阅读 · 1 评论 -
构造函数与类(class)
类其实就是构造函数的语法糖 ,构造函数 function Person(name, age) { this.name = name; this.age = age; } //添加在原型上的方法 Person.prototype.say = function() { return "我的名字叫" + this.name + "今年" + this.age + "岁了"; }; //创造实例 var obj = new Person(小白", 88);原创 2021-07-18 20:18:11 · 945 阅读 · 0 评论 -
函数的执行方式(this的指向) 和 函数的上下文调用
函数调用上下文的三种方式Function.prototype.call Function.prototype.apply Function.prototype.bind1.函数的三种执行方式(this的指向) ->注意:共同是this的执向是确定的无法修改1.回调函数: 如果一个函数的参数是一个函数,这个参数函数叫做回调函数2.自调用函数: 如果一个函数自己调用自己,这个函数称之为自调用函数 (匿名函数)() 2.1任何函数都可以使用自调用函数的语法 2.2一般情原创 2021-07-18 20:17:40 · 175 阅读 · 0 评论 -
原型链介绍
什么是原型链:每一个对象都有自己的原型,而原型也是对象,也有自己的原型,一次类推而形成的链式结构就叫做原型链对象访问原型链中的成员采用就近原则1.如果自己本身有就去自己的,如果自己没有就从原型中找,如果原型中也没有就从原型的原型中找,一次类推知道找到原型链的终点null,如果还没有找到是属性就返回undefined , 如果是方法就返回xxx is not a function.js中的对象都是由构造函数创建的1.自定义构造函数 function Person(name,age){原创 2021-07-18 20:17:00 · 218 阅读 · 0 评论 -
数组去重四种方式
1.使用indexof2.使用开关思想3.使用对象的属性名不能重复检测4.使用冒泡排序的方法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Com原创 2021-07-18 20:16:39 · 33 阅读 · 0 评论 -
构造函数的利弊以及使用原型对象
构造函数创建对象构造函数创建对象, 对象是引用类型,在堆中开辟空间,对象的赋值是堆中的地址,所以Person1 !== Person2 function Person(name,age){ this.name = name, this.age = age, } } var person1 = new Person('小白',12) var person2 = new Person('大白',22) console.log(p原创 2021-07-18 20:15:49 · 621 阅读 · 0 评论 -
switch 全等判断
switch 全等判断在有一次使用switch 来处理数据情况的时候,判断一致没有走进到case 块中, 后来查看了资料知道,switc在JavaScript 中是全等判断原创 2021-07-17 23:10:51 · 137 阅读 · 0 评论 -
时间戳转换年月日和星期实现类似消息时间提醒,一个小时前,一分钟前...
借助dayjs(一个轻量级的处理时间和日期的JavaScript库)API中文文档GitHub地址API转载安装:NPM:npm install dayjs --saveimport dayjs from 'dayjs'// 或者 CommonJS// var dayjs = require('dayjs');dayjs().format(); //2020-01-06T10:15:01+08:00CDN:<!-- 最新的压缩后的 JavaScript 文件 -->原创 2021-07-17 23:10:13 · 331 阅读 · 0 评论 -
闭包那点事儿
js变量的作用域全局作用域(全局变量) : 在函数外面声明的变量 生命周期(变量从声明到销毁): 页面从打开到关闭局部作用域(局部变量) : 在函数里面声明的变量 生命周: 开始调用函数到函数执行完毕什么是闭包?闭包的优缺点?原文链接闭包(closure)是 JavasSript 的一大难点,也是它的特色。很多高级应用都要依靠闭包来实现。1、变量作用域要理解闭包,首先要理解 JavasSript 的特殊的变量作用域。变量的作用域无非就两.原创 2021-07-17 23:09:29 · 42 阅读 · 0 评论 -
js 中 != , !== , == ,=== 之间的区别
varnum = 1;varstr = ‘1’;vartest = 1;test == num //true 相同类型 相同值test === num //true 相同类型 相同值test !== num //false test与num类型相同,其值也相同, 非运算肯定是falsenum == str //true 把str转换为数字,检查其是否相等。num != str //false == 的 非运算num === str //false 类型不同,直接返回falsenum原创 2021-07-17 23:08:53 · 52 阅读 · 0 评论 -
数据类型检测方法总结typeof OR call(修改this指向)
使用typeof方法检测数据类型1.方法不严谨,在检测数组和对象是都是object 类型的,2.检测的结果是该数据类型的字符串// 使用typeof检测数据类型 console.log(typeof (123)); //number console.log(typeof ("123")); //string console.log(typeof (true)); //boolean console.log(typeof ([])); //object con原创 2021-07-17 23:07:31 · 66 阅读 · 0 评论 -
函数对象常用的属性 和 call与caller与callee的区别
函数也是对象,也有属于自己的属性但是使用console.log(fn) 打印的是函数体代码,要想获取函数对象自己的属性需要使用console.dir(fn)//函数也是对象,也会有自己默认成员 function fn(){}; console.dir(fn); /* call与caller与callee的区别 call : 属于 Function.prototype. 作用是修改函数中的this指向 .原创 2021-07-17 23:07:01 · 154 阅读 · 0 评论 -
递归和闭包
js变量的作用域:全局作用域(全局变量) : 在函数外面声明的变量**生命周期(变量从声明到销毁): 页面从打开到关闭.局部作用域(局部变量) : 在函数里面声明的变量**生命周: 开始调用函数到函数执行完毕闭包1.闭包使用介绍1.闭包介绍(closure)1.1 闭包 : 是一个可以在函数外部访问函数内部变量的函数* 闭包是函数1.2 闭包作用: 可以在函数外部访问函数内部变量* 延长局部变量的生命周期1.3 闭包语法 :a. 在外部函数outer的内部声明了一个闭包函数c.原创 2021-07-17 23:06:31 · 159 阅读 · 0 评论 -
js判断用户的浏览器设备是移动端还是pc端
下面给出js判断处理代码移动端还是pc端,以作参考<script type="text/javascript"> function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs原创 2021-07-17 23:05:43 · 351 阅读 · 0 评论 -
js实现拖动左侧菜单栏改变宽度
实现代码<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>js实现左侧菜单拖动改变宽度</title> <meta name="viewport" content="width=device-width, initial-s原创 2021-07-16 12:17:39 · 504 阅读 · 0 评论