JS/TS
文章平均质量分 79
JS/TS
tinfengyee
这个作者很懒,什么都没留下…
展开
-
获取今天到前十五天之间的日期
日期处理转载 https://www.cnblogs.com/pnz-bug/p/8080414.html<!DOCTYPE html><br><html><head> <meta charset="UTF-8"> <title></title></head><body> <script type="application/javascript">转载 2020-07-06 15:37:50 · 914 阅读 · 0 评论 -
JavaScript/TypeScript变量声明
变量声明前言var 声明作用域规则前言面试过程中, 总有一些面试官喜欢问概念性的东西, 我懂, 但是我忘了专业名词…let 和 const是 JavaScript 里相对较新的变量声明方式。let 在很多方面与 var 是相似的,但是可以帮助大家避免在 JavaScript 里常见一些问题。const 是对 let 的一个增强,它能阻止对一个变量再次赋值。因为 TypeScript 是 JavaScript 的超集,所以它本身就支持let 和const。 下面我们会详细说明这些新的声明方式以及为什么原创 2020-05-29 18:23:29 · 727 阅读 · 0 评论 -
前端EventEmitter,发布/订阅模式,Vue双向数据绑定
前端EventEmitter,发布/订阅模式前言实现拓展Vue 中非父子组件组件通信通俗易懂了解Vue双向绑定原理及实现Vue双向绑定原理,教你一步一步实现双向绑定参考的代码1参考代码2`推荐`[Source Code - JavaScript - 学习优雅的编码](https://segmentfault.com/a/1190000015043262)参考前言发布订阅模式,很多地方都用到的一种模式,简单的说就是预定一件事情,时机成熟通知你,比如我们nodejs中的fs的读写文件的流,消息事件的触发等都原创 2020-05-12 21:01:52 · 742 阅读 · 0 评论 -
详细解析赋值、浅拷贝和深拷贝
@TOC一、赋值(Copy)赋值是将某一数值或对象赋给某个变量的过程,分为下面 2 部分基本数据类型:赋值,赋值之后两个变量互不影响引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有影响对基本类型进行赋值操作,两个变量互不影响。let a = "muyiy";let b = a;console.log(b);// muyiya = "change";...转载 2020-04-19 15:22:44 · 458 阅读 · 0 评论 -
ES6 系列之 WeakMap
ES6 系列之 WeakMap前言特性应用1. 在 DOM 对象上保存相关数据2. 数据缓存3. 私有属性深拷贝上的应用ES6 系列前言(我是在看muyiy的深拷贝防止循环引用用到WeakMap就找到这篇文章)我们先从 WeakMap 的特性说起,然后聊聊 WeakMap 的一些应用场景。特性1. WeakMap 只接受对象作为键名const map = new WeakMap();...转载 2020-04-18 22:37:51 · 311 阅读 · 0 评论 -
JS前端进阶/面试
this指向我们知道this绑定规则一共有5种情况:1、默认绑定(严格/非严格模式)2、隐式绑定3、显式绑定4、new绑定5、箭头函数绑定其实大部分情况下可以用一句话来概括,this总是指向调用该函数的对象。var num = 1;var myObject = { num: 2, add: function() { this.num = 3; ...转载 2020-04-20 00:55:59 · 454 阅读 · 0 评论 -
JS节流和防抖函数的理解和实现
参考演示网站木易杨7分钟理解JS的节流、防抖及使用场景Js中的防抖与节流/** * Created by thephpjo on 21.04.14. */var helpers = { /** * debouncing, executes the function if there was no new event in $wait milliseconds * ...原创 2020-04-20 00:48:54 · 533 阅读 · 0 评论 -
使用mockjs生成随机手机号码
使用mockjsconst Mock = require('mockjs')// 拓展mockjsMock.Random.extend({ phone: function () { var phonePrefixs = ['132', '135', '189'] // 自己写前缀哈 return this.pick(phonePrefixs) + Mock.mock(/\...原创 2020-04-02 00:01:15 · 16213 阅读 · 3 评论 -
js获取元素宽高和位置的几种方法&&点击事件坐标
一.获取宽高:1.行内样式获取宽高:var dom= document.getElementById("div");var divWidth = dom.style.width;var divHeight = dom.style.height;注:只能通过行内样式才能获取到。获取到的元素宽高不包括padding和border2.offset/client/scroll方法获取:va...原创 2020-02-04 23:42:55 · 3603 阅读 · 0 评论 -
getBoundingClientRect获取DOM元素获取的宽和高以及位置
dom.getBoundingClientRect()属性说明:width, height: 元素的实际宽度 / 宽度left: 元素左边距离视口左边的距离right: 元素右边距离视口左边的距离top: 元素上边距离视口上边的距离bottom: 元素下边距离视口上边的距离注意:宽高包含padding, border距离根据视口/文档?为起点, 而不是父元素x, y: 元素...原创 2020-02-04 22:57:49 · 2539 阅读 · 1 评论 -
JS中DOM元素获取的宽和高的方法
获取网页窗体方法网页可见区域宽: document.body.clientWidth (可变)网页可见区域高: document.body.clientHeight (可变)网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.bod...转载 2020-02-04 22:08:09 · 901 阅读 · 0 评论 -
javascript删除对象上的属性
任务删除 age 属性let obj = { name: 'xiaoming', age: 11, id: 2}解决方法1:对象的解构let {age, ...rest} = objconsole.log(age) //11console.log(rest) //{ name: 'xiaoming', id: 2 }对象的解构与数组有一个重要的不同。数组的元素是按次序排列的...原创 2019-11-01 17:38:03 · 8174 阅读 · 0 评论