当前位置: 首页 > wzjs >正文

外贸网站建设自媒体人专用网站

外贸网站建设,自媒体人专用网站,给卖假性药的做网站一般要判多久,安阳网站设计哪家好目录 1. 一行代码完成解构加赋值(解构赋值新解) 2. 判断整数的不同方法 3. 通过css检测系统的主题色从而全局修改样式 4. 数组随机打乱顺序 5. 随机获取一个Boolean值 6. 把数组的第一项放到最后一项 7. dom节点平滑滚动到可是区域,顶部,底部 8. …

目录

1. 一行代码完成解构加赋值(解构赋值新解)

2.  判断整数的不同方法

3. 通过css检测系统的主题色从而全局修改样式

4. 数组随机打乱顺序

5. 随机获取一个Boolean值

6. 把数组的第一项放到最后一项

 7. dom节点平滑滚动到可是区域,顶部,底部

8. 获取随机颜色

9. 检测是否为空对象

10. 数组克隆方法总结(clone)

11. 一步从时间中提取年月日时分秒(推荐使用)

12. 检测两个dom节点是否覆盖重叠

13. 判断是否是NodeJs环境

14. 参数求和和参数平均数

 15. 计算两个坐标之间的距离


1. 一行代码完成解构加赋值(解构赋值新解)

// 对于结构赋值,平时都是解构后或者起别名的方式获取
// 而后采用变量赋值的形式去储存新的变量,如下:let params = {}; // 需要储存的最终对象
let obj = {a:1,b:2,c:3}
// 1. 常规解构获取
let {a, b:other} = obj;  // console.log(a,other)
params = {a,other}       // console.log(params)
// 2. 直接赋值的改动(推荐写法)
let { a: params.a, b:params.other } = obj // console.log(params)举例其他情况:
1. 字符串的结构
const {length : a} = '1234';
console.log(a) // 42. 数组解构快速拿到最后一项值
const arr = [1, 2, 3];
const { 0: first, length, [length - 1]: last } = arr;
first; // 1
last; // 3
length; // 3

2.  判断整数的不同方法

// 1. 任何整数除以1,余数为0 
function isInteger(obj) {return typeof obj === 'number' && obj%1 === 0
}// 2. 使用Math.round、Math.ceil、Math.floor判断 整数取整后还是等于自己。
// 利用这个特性来判断是否是整数
function isInteger(obj) {// Math.round | Math.floor 也可以哦return Math.floor(obj) == obj
}// 3. 通过位运算符取整判断
function isInteger(obj) {return (obj | 0) == obj
}// 4. ES6提供了Number.isInteger
function isInteger(obj) {return typeof obj === 'number' && Number.isInteger(obj)
}

3. 通过css检测系统的主题色从而全局修改样式

// @media 的属性 prefers-color-scheme就可以知道当前的系统主题,当然使用前需要查查兼容性
@media (prefers-color-scheme: dark) { //... } 
@media (prefers-color-scheme: light) { //... }// javascript写法控制
window.addEventListener('theme-mode', event =>{ if(event.mode == 'dark'){}if(event.mode == 'light'){} 
})window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { if (event.matches) {} // dark mode
})

4. 数组随机打乱顺序

// 洗牌算法打乱数组顺序
function shuffle(arr) {for (let i = arr.length - 1; i > 0; i--) {const randomIndex = Math.floor(Math.random() * (i + 1));[arr[i], arr[randomIndex]] = [arr[randomIndex], arr[i]]}return arr
}

5. 随机获取一个Boolean值

// Math.random() 的区间是0-0.99
function randomBoolean() {return 0.5 - Math.random()
}

6. 把数组的第一项放到最后一项

function arrpushfirst(arr){return arr.unshift(arr.pop());
}
[3, 6, 1, 2, 4, 5, 7] ==> [7, 3, 6, 1, 2, 4, 5]

 7. dom节点平滑滚动到可是区域,顶部,底部

function scrollTo(element) {// 三个位置,自行选择使用element.scrollIntoView({ behavior: "smooth", block: "start" }) // 顶部element.scrollIntoView({ behavior: "smooth", block: "end" }) // 底部element.scrollIntoView({ behavior: "smooth"}) // 可视区域
}

8. 获取随机颜色

// 日常我们经常会需要获取一个随机颜色,通过随机数即可完成
function getRandomColor(){return `#${Math.floor(Math.random() * 0xffffff) .toString(16)}`;
}

9. 检测是否为空对象

// 通过使用Es6的Reflect静态方法判断他的长度依次判断是否是空数组,
// 也可以通过Object.keys()来判断
function isEmpty(obj){return  Reflect.ownKeys(obj).length === 0 && obj.constructor === Object;
}

10. 数组克隆方法总结(clone)

const clone = (arr) => arr.slice(0);
const clone = (arr) => [...arr];
const clone = (arr) => Array.from(arr);
const clone = (arr) => arr.map((x) => x);
const clone = (arr) => JSON.parse(JSON.stringify(arr));
const clone = (arr) => arr.concat([]);
const clone = (arr) => structuredClone(arr);

11. 一步从时间中提取年月日时分秒(推荐使用)

// 一步获取到年月日时分秒毫秒,由于toISOString会丢失时区,导致时间差八小时
// 所以在格式化之前我们加上八个小时时间即可
function extract(date){date = date ? new Date(date) : new Date()const d = new Date(date.getTime() + 8*3600*1000);return new Date(d).toISOString().split(/[^0-9]/).slice(0, -1);
}
console.log(extract(new Date())) // ['2022', '10', '26', '17', '18', '58', '256']

12. 检测两个dom节点是否覆盖重叠

// 判断dom是否发生碰撞了或者重叠了 
// getBoundingClientRect获取到dom的x1,y1,x2,y2坐标然后进行坐标比对即可判断
function overlaps = (a, b) {return (a.x1 < b.x2 && b.x1 < a.x2) || (a.y1 < b.y2 && b.y1 < a.y2);
}

13. 判断是否是NodeJs环境

// 通过判断全局环境来检测是否是nodeJs环境
function isNode(){return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
}

14. 参数求和和参数平均数

// 通过reduce一行即可
function sum(...args){args.reduce((a, b) => a + b);
}// 求平均数
function sum(...args){args.reduce((a, b) => a + b) / args.length;
}

 15. 计算两个坐标之间的距离

function distance(p1, p2){return `Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
}

http://www.dtcms.com/wzjs/427643.html

相关文章:

  • 有没有免费开网站的seo的基础优化
  • 哪些网站做渣土车租恁关键词批量调词 软件
  • 建设网站找什么问题seo诊断方法步骤
  • 棋盘网站开发seo网站推广主要目的不包括
  • 网站新闻专题怎么做aso苹果关键词优化
  • 免费解析网站制作长沙网
  • 做独立网站app推广引流渠道
  • 代做广联达 的网站厦门seo结算
  • 供应商管理与采购管理aso优化{ }贴吧
  • 广东移动宽带官网站做一个网站要花多少钱
  • 网站建设 资产百度推广账户登录首页
  • 十堰网络科技公司排名seo黑帽技术有哪些
  • 做网站如何推销2000元代理微信朋友圈广告
  • 17网站模板百度快照客服人工电话
  • 杭州科技公司网站建设域名解析
  • 代理公司注册手续百度快照优化推广
  • wordpress收缩企业seo关键词优化
  • 专业网站建设代理seo的重要性
  • 网站建立网站整站排名优化公司
  • 章丘公司做网站营销网站定制公司
  • 叫人做网站后不提供源码互联网搜索引擎
  • 泉州做网站优化哪家好娃哈哈软文推广
  • 素材网站可以做淘宝吗如何在百度推广自己
  • 井陉建设局网站公示游戏广告投放平台
  • 电影网站的设计与实现论文网址怎么创建
  • 网站怎么做外链接上海网站建设服务
  • 河北网站建设开发百度录入网站
  • 有没有做博物馆的3d网站百度手机应用商店
  • 月夜直播免费完整版下载广州抖音seo公司
  • 安徽住房和城乡建设部网站官网廊坊seo排名公司