![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
文章平均质量分 51
前端小趴菜_JL
这个作者很懒,什么都没留下…
展开
-
相对定位与绝对定位层叠上下文优先级的问题
相对定位与绝对定位堆叠样式优先级的问题<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0">原创 2021-10-22 21:31:24 · 541 阅读 · 0 评论 -
flex和grid布局的差别
flex 布局什么是 flex 布局全成 flexible Box 意为弹性盒子。弹性盒子是 CSS3 的一种新的布局模式。相对于传统的依赖于display+position+float的布局方式,弹性盒子更加以有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。如何使用// 任何一个容器都可以指定为Flex布局,你需要的仅仅是增加一行display: flex;// 如果是行内元素的话则是display: inline-flex;注意,设为 Flex 布局以后,子元素的fl原创 2021-10-21 21:51:40 · 5821 阅读 · 0 评论 -
分享题解09:礼物的最大价值
题目:礼物的最大价值描述在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:// 输入:[ [1,3,1], [1,5,1], [4,2,1]]// 输出: 12// 解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物第一种解题思路每次只能向下或向右第一行:自己 = 自己原创 2021-09-10 22:50:03 · 76 阅读 · 0 评论 -
分享题解08:数组放大
有一个 n*n的二维数组,现在我们想将数组放大 K 倍,放大最简单的方法就是在保持现有排列的情况下,平均增加每个像素的数量,示意图如下结果示意图:var arr = [ [0,1], [1,0]];var newArr = [];function bigArr(n,k,arr){ for(let i = 0; i < n;i++){ for(let j = 0; j < n; j++){ let temp = arr原创 2021-09-07 23:53:53 · 428 阅读 · 0 评论 -
分享题解07:链表排序
剑指 Offer II 077. 链表排序题目连接给定链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。var sortList = function(head) { if (!head || head.next === null) return head; let arr = []; while (head) { arr.push(head); head = head.next; } arr.sort((a,b) => a.val -原创 2021-09-06 10:37:08 · 218 阅读 · 0 评论 -
js Map对象的用法
原文连接转载 2021-08-30 14:42:40 · 123 阅读 · 0 评论 -
分享题解06:最大子序和
题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例1 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例2 输入:nums = [1] 输出:1思路分享难度等级:简单(是的,你没有看错,这个题难度系数简单,是不是感觉大神们把难度拉高了,完全没有思路)。下面代码部分是我的解答步骤,测试通过 190/203,感觉应该是第三层 for原创 2021-08-29 12:30:56 · 129 阅读 · 0 评论 -
nodejs降级为低版本
这篇文章的起因是我想写一个js 的原生项目,讲解的视频用的是gulp3.9.1打包工具,安装完gulp3.9.1之后,打包时会报错,主要原因是nodejs版本过高,因而本文章主要介绍了windows如何把已安装的nodejs高版本降级为低版本,本文分步骤通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下:第一步:先清空本地安装的node.js版本1.不记得安装位置的话:按健win+R弹出窗口,键盘输入cmd,然后敲回车(或者鼠标直接点击电脑桌面最左下角转载 2021-08-24 17:17:57 · 2303 阅读 · 0 评论 -
js中的循环方式及各种遍历的方法
循环for循环1、for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割, for循环三个表达式都可以省略,但是两个“;”缺一 不可。2、for循环的执行特点:先判断再执行,与while相同3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割;for(var num = 1;num<10;num++){ console.log(num);//1,2,3,4,5,6,7,8,9}wh原创 2021-08-17 16:55:12 · 351 阅读 · 1 评论 -
深浅拷贝的简单理解
1.深浅拷贝的定义浅拷贝只复制指向某个对象的指针而不复制对象本身,新旧对象还是共享同一块内存。深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。2.赋值和浅拷贝的区别当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的。浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是原创 2021-08-16 15:53:58 · 132 阅读 · 0 评论 -
原生 js 实现 改变 this(call、apply、bind)
// call // 参数: // 第一个参数:改变到的对象 // 第二个参数:参数列表Function.prototype.call = function(target, ...args){ const type = typeof target; if(type !== 'function' || type !=='object'){ console.error('目标对象须是一个函数或者object数据类型的数据'); return; } const context = tar原创 2021-08-13 21:17:45 · 60 阅读 · 0 评论 -
变量提升和函数提升的优先级问题
varvar 作用域var 分为全局作用域和局部(函数)作用域,下面这个例子,变量 a 是全局作用域,变量aa 是局部作用域,全局作用域的变量可以再函数里面使用,函数里面的变量,不能在全局中使用,要使用的话可以写return返回某个变量,在函数调用时写一个变量接收函数返回的变量即可。在函数里面声明变量时,省略 var 时,例如 bb ,声明的变量默认为全局变量。 var a = 10; console.log(a); // 10 function aBa(){ //原创 2021-08-02 16:58:20 · 179 阅读 · 0 评论 -
Vuex 的简单使用样例
使用 vue 进行计数器的计数代码可以直接复制使用,欢迎大家交流指正<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initia原创 2021-07-14 16:29:36 · 95 阅读 · 0 评论 -
vue devtools 安装使用
安装第一种:需要梯子谷歌浏览器 -> 更多工具 -> 扩展程序 -> 点击扩展程序旁边的三条横线 -> 选择谷歌网上应用店 -> 搜索 vue devtools -> 安装第二种:https://github.com/vuejs/vue-devtools 切换到mater 分支,clone 到本地 ,进入文件夹安装项目所需要的 npm 包npm install编译项目文件npm run build添加值 Chrome 浏览器游览器原创 2021-07-07 14:47:18 · 87 阅读 · 0 评论 -
安装完 git 之后,初始化项目并上传到 gitee
本文是在创建完 gitee 账户以及安装好 gitee 之后的后续步骤添加完 SSH 公钥之后,如何在 git Bash here 中使用命令行,创建项目文件、初始化、以及上传到个人仓库。(还没有添加 SSH 公钥的人可以看看其他人的博文,我也会后续进行更新)git 的基本操作进到指定路径文件夹直接进入该文件夹位置,然后右键Git Bash Here,在当前文件夹打开Git Bash,类似于打开Terminal,此时的终端的路径就是在当前文件夹,然后对文件进行相关操作。在桌面右键Git Bash原创 2021-07-06 15:10:51 · 217 阅读 · 0 评论 -
正则表达式
参考原文转载 2021-07-05 08:45:45 · 47 阅读 · 0 评论 -
Vue的生命周期
Vue的生命周期先放一个官网的图,再放一个修改之后的图beforeCreate( 创建前 )在实例初始化之后,数据观测和事件配置之前被调用,此时组件的选项对象还未创建,el 和 data 并未初始化,因此无法访问methods, data, computed等上的方法和数据。created ( 创建后 )实例已经创建完成之后被调用,在这一步,实例已完成以下配置:数据观测、属性和方法的运算,watch/event事件回调,完成了data 数据的初始化,el没有。 然而,挂在阶段还没有开始, $e转载 2021-06-24 16:01:40 · 58 阅读 · 0 评论 -
JS之继承方式
JS之继承方式继承是 OO 语言中的一个最为人津津乐道的概念。许多 OO 语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECMAScript 中无法实现接口继承。 ECMAScript 只支持实现继承,而且其实现继承主要是依靠原型链来实现的。原型链ECMAScript 中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单回顾一下构造函数、原型和实例原创 2021-06-17 20:46:36 · 62 阅读 · 0 评论 -
创建对象之原型模式
原型模式我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面意思来理解,那么 prototype就是通过调用构造函数而创建的那个对象实例的原型对象。使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法。换句话说,不必在构造函数中定义对象实例的信息,而是可以将这些信息直接添加到原型对象中,如下面的例子所示。// 原型模式function Person4(){}Person原创 2021-06-11 15:14:07 · 157 阅读 · 0 评论 -
js中创建对象的几种模式
工厂模式工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程(本书后面还将讨论其他设计模式及其在 Javascript t中的实现)考虑到在 ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示。// 工厂模式// 注意写法,此时还没有构造函数,函数名小写function creatperson(name,age){ var o = new Object(); o.name = name;原创 2021-06-09 16:52:38 · 93 阅读 · 0 评论 -
JS之instanceof
JS之instanceofinstanceof 定义instanceof 语法举例易错点手动实现 instanceofinstanceof 定义instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。instanceof 语法用法:object instanceof constructorobject:某个实例对象constructor:某个构造函数用来检测 constructor.prototype 是否存在于参数 object 的原型链上。转载 2021-06-08 16:16:42 · 200 阅读 · 0 评论 -
实现一个函数clone,可以对js中得基本数据类型进行值复制
/** * 对象克隆 * 支持基本数据类型及对象 * 递归方法 */// 方法一:function clone(obj) { var o; switch (typeof obj) { case "undefined": break; case "string": o = obj + ""; break; case "number": o = obj - 0; break; case "boolean": o = obj; br...原创 2021-05-31 16:25:36 · 188 阅读 · 0 评论 -
nodejs实现新闻爬虫
nodejs实现新闻爬虫作为费德勒的铁杆粉丝,每天早上都会在新浪体育里面的网球频道浏览费德勒新闻。由于只关注费德勒的新闻,所以每次都要在网页中大量的新闻中筛选相关信息,感觉效率好低,所以用node写了一个简单的爬虫程序通过每天定时发送邮件的方式来通知。这个需求仔细看有3个功能点,信息爬虫,定时发送,邮件通知信息爬虫信息爬虫建立在对页面结构的分析,从页面内容中抽取符合我们需要的信息,所以我们在获得网页信息后,需要对dom结构进行分析,获得相关信息,组装成数据。Axios(https://github原创 2021-05-08 08:40:07 · 277 阅读 · 0 评论 -
js--事件系列
关于事件写了一系列文章1.事件流(事件捕获和事件冒泡)链接2.事件处理程序链接3.事件对象链接4.通用的事件侦听器函数链接5.事件循环(event loop)链接6.事件代理((event delegation)链接————————————————版权声明:本文为CSDN博主「github_34514750」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/github_34514750/ar转载 2021-04-13 13:56:52 · 42 阅读 · 0 评论 -
JavaScript有几种类型的值?你能画一下他们的内存图吗?
题目点评:数据类型是所有程序都会涉及到的,是计算机语言比较基础知识,这种问题被问到的可能性其实并不大,这样的题目只要花点时间把它记下来就好了,难易程度一般。参考原文转载 2021-04-13 12:27:45 · 156 阅读 · 0 评论 -
JavaScript实现类与继承的方法(全面整理)
原文链接原文作者写的很好,我还没有学到这里,转载是为了后期学习方便转载 2021-03-29 13:01:24 · 112 阅读 · 0 评论 -
用前端读取和显示表格
这个问题卡了我两三天了。终于看到这个原文链接很喜欢,先保存在学习,欢迎大家相互骄交流转载 2021-03-16 08:38:19 · 486 阅读 · 0 评论 -
JavaScript中的垃圾回收和内存泄漏
参考博文,作者写的很好原创 2020-12-01 19:49:55 · 58 阅读 · 0 评论 -
JS字符串拼接
使用加号运算符var s1 = "abc" , s2 = "def";console.log(s1 + s2); //返回字符串“abcdef”使用concat()方法var s1 = "abc";var s2 = s1.concat("d" , "e" , "f"); //调用concat()连接字符串console.log(s2); //返回字符串“abcdef”concat() 方法不会修改原字符串的值,与数组的 concat() 方法操作相似。使用join()方法var原创 2020-12-01 19:17:59 · 284 阅读 · 0 评论