![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
森林的尽头是阳光
生而俗人,喜欢金钱和感动
展开
-
树形结构查找某一节点的对应字段
【代码】树形结构查找某一节点的对应字段。原创 2022-10-12 10:07:28 · 1323 阅读 · 0 评论 -
js 装箱、拆箱概念
1、概念装箱:把基本数据类型转化为对应的引用数据类型的操作var num = 123 // number类型var objNum = new Number(123) // object类型,就称为装箱console.log(typeof objNum) // object拆箱:将引用类型对象转换为对应的值类型对象使用 valueOf方法var objNum = new Number(123)console.log(type objNum.valueOf()) // number原创 2021-11-14 17:16:27 · 531 阅读 · 0 评论 -
前端题
1、输出结果[...'abcd']答案:[“a”, “b”, “c”, “d”]解析:…会把字符串每个字符映射为一个元素,返回一个数组2、setInterval 方法的返回值是什么?setInterval(() => console.log('Hi'), 1000)答案:一个唯一的id解析:会返回一个ID,用于clearInter清除定时器3、输出结果function* generator(i) { yield i; yield i * 2;}const g原创 2021-03-11 17:48:39 · 290 阅读 · 0 评论 -
定时器越来越快的解决方法
执行定时器前先清除为什么用setTimeout代替setInterval?1、每个setTimeout产生的任务会直接push到任务队列中;2、而setInterval在每次把任务push到任务队列前,都要进行一下判断(看上次的任务是否仍在队列中)。3、用setTimeout模拟setInterval,可以规避掉上面的缺点。let timer; // 变量只声明一次即可function update(){ clearTimeout(timer) // 再次调用定时器时先清除 timer原创 2021-01-26 14:35:18 · 2076 阅读 · 0 评论 -
数字三位加逗号分割
toThousands = (num) => { return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');}原创 2020-09-09 14:25:43 · 189 阅读 · 0 评论 -
一个简单的web服务器
1、先安装node,之后新建个文件夹,新建server.js 内容如下const http = require('http')http.createServer(function(request, response) { console.log('request come', request.url) response.end('123')}).listen(8888)console.log('server listening on 8888')2、命令行运行server.js原创 2020-07-13 16:14:03 · 119 阅读 · 0 评论 -
js递归阶乘 - 斐波那契数列
1~100之和let xx = function sum(num){ if(num<=1){ return 1; } return num + sum(num - 1);}xx(100);斐波那契数列1 1 2 3 5 8 13 返回当前位的数let getCurrent = function aa(current){ if(current <= 2) return 1; return aa(current - 1) + aa(current - 2原创 2020-05-21 14:44:15 · 158 阅读 · 0 评论 -
js取两个数组中相同的值、不同的值
不同的值function FilterData(a,b) { //循环判断数组a里的元素在b里面有没有,有的话就放入新建立的数组中 var result = new Array(); for(var i=0;i<a.length;i++) { if(b.indexOf(a[i]) == -1) { result.push(a[i]);原创 2020-05-21 14:43:26 · 2030 阅读 · 0 评论 -
js递归实现深度拷贝
function deepClone(obj){ // 判断原目标是数组还是对象,进行初始化赋值 const newObj = obj.constructor === Array ? [] :{}; // 循环原目标 for(let key in obj){ // 判断当前值是否存在 if(obj.hasOwnProperty(key)){ // 判断是否当前要拷贝的是否是对象 if(obj[key] && typeof obj[key] === 'ob原创 2020-05-21 14:42:50 · 428 阅读 · 0 评论 -
佛系整理
HTML与XHTML——二者有什么区别?答案:HTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。标签名必须用小写字母。XHTML 文档必须拥有根元素。标签上title属性与alt属性的区别是什么?答案: title属性是鼠标划上去显示的内容alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明的。给body设置宽高背景色,背景还是会铺满全屏,原因是如果没有给...原创 2020-01-09 23:43:10 · 219 阅读 · 0 评论 -
创建对象的几种方式
1.基于已有对象在增加属性或者方法 <script> function person(){} var obj = new person(); obj.name = "dugege"; obj.passwd = "123"; obj.sayHello = function(){ ...原创 2020-01-09 22:49:58 · 115 阅读 · 0 评论