
JS
tinyint_813
这个作者很懒,什么都没留下…
展开
-
前端-脑图
前端学习脑图原创 2022-09-18 21:36:32 · 146 阅读 · 1 评论 -
前端知识积累
前端知识原创 2022-07-29 15:23:42 · 195 阅读 · 0 评论 -
立即执行函数、闭包
// for (var i = 0; i<3; i++){ // setTimeout(function (){ // console.log(i) // }) // } // 怎样输出 0 1 2 // let 来声明块变量,这时候变量就能作用于这个块 // for (let i = 0; i<3; i++){ // setTimeout(function (){ // .原创 2021-09-09 10:40:43 · 178 阅读 · 0 评论 -
JS中的slice,深拷贝?浅拷贝?
首先,slice是对数组的操作b = a.slice(); 如果a数组里的值都是基本数据类型,那就是深拷贝其次,如果其中有引用数据类型,那拷贝的就是引用数据类型的地址,那么改了a,b对应的引用类型也会改。最后注意,如果 b[2] = 100, 对应的引用类型 a[2]不会更改,因为 b[2]改的是指针,不是引用数据类型...原创 2021-09-02 17:27:01 · 1453 阅读 · 0 评论 -
JavaScript严格模式下this的指向
在严格模式下全局作用域的this指向window对象全局作用域中函数的this为undefined对象、事件之类的就是谁调用就是谁参考资料:https://www.jb51.net/article/118506.htm原创 2021-09-01 10:40:53 · 96 阅读 · 0 评论 -
蛇形打印二叉树
采用层序遍历的方式。虽然leetcode有点问题,但结果没错的var levelOrder = function(root) { if(!root) return null; let res = []; let flag = 1; let queue = []; queue.push(root); while(queue.length > 0){ let temp = []; let tempQ = [];原创 2021-08-03 17:08:12 · 295 阅读 · 0 评论 -
图片懒加载——非框架,使用JS(两种方法)
事件监听监听scroll这个事件,鼠标滚动就触发window.innerHeight是窗口显示区的高度getBoundingClientRect().top获取图片到视口上方的高度图片若未能显示到屏幕上:说明getBoundingClientRect().top大于window.innerHeightdata-src:不知道要在哪里下载图片。等到真正需要加载图片的时候,获取这个属性值,赋值给imgae的src缺点:消耗资源,一直在触发监听事件,会造成性能问题浏览器提供的构造函数Inter原创 2021-06-19 20:34:37 · 73 阅读 · 0 评论 -
Object.assign(target, source1,source2)
作用将可枚举属性的值多个源对象复制到目标对象,并返回对象如果源对象属性的值是简单数据类型,就是深拷贝;如果源对象属性值为引用数据类型,那么就是浅拷贝原创 2021-06-13 17:20:15 · 176 阅读 · 0 评论 -
Array.prototype.slice.call的使用
function fn(){ console.log(arguments); console.log(...arguments); var a = Array.from(arguments); var b = [...arguments]; var c = [...arguments].slice(1); var d = Array.prototype.slice.call(arguments); var e = Array.prototype.slice.cal原创 2021-04-26 10:39:17 · 165 阅读 · 0 评论 -
FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory
今天在js里面写了个翻转括号字符串的算法,发现出现了FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory错误,后来发现是自己while循环 没有终止条件,导致了内存泄漏。此外,还需注意循环时不要让条件动态改变。...原创 2021-04-15 09:08:21 · 3068 阅读 · 1 评论 -
JS构造函数,原型__proto__,原型对象prototype(详细+代码)
创建对象的三种方式创建构造函数发生的事情1. 基础知识注意:构造函数名称首字母最好大写,在创建实例的时候用new关键字创建。通过构造函数Student可以创建实例对象stu,stu的__proto__指向Student的原型对象,而Student的原型对象prototype的构造对象指向它本身。function Student(name, age){ this.name = name; this.age = age;}let stu = new Student("ccc","2原创 2021-04-02 17:30:56 · 199 阅读 · 0 评论 -
JS创造对象的多种方式(Object类、字面量、工厂函数、构造函数、构造函数的性能优化)
对象有属性和行为,对于属性,我们传入值进去;对于行为,我们传入方法进去。创建对象的方式有以下三种。1. 方式一(通过Object类创建)let obj = new Object();obj.name = "ccc"; //添加属性obj.age = 23;obj.say = function(){ //添加方法(这里称为方法,而不是函数。因为函数是可以直接调用的,而方法必须通过对象来调用) console.log("hi");}console.log(obj);console.原创 2021-04-02 13:40:22 · 360 阅读 · 4 评论 -
leetcode(数组) --- JavaScript ---顺时针打印矩阵_方法一
// 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字// 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]// 输出:[1,2,3,6,9,8,7,4,5]// 时间复杂度:O(mn). 其中 m 和 n 分别是输入矩阵的行数和列数。矩阵中的每个元素都要被访问一次。// 空间复杂度:O(mn). 需要创建一个大小为 m×n 的矩阵, visited记录每个位置是否被访问过/*思路:①判断矩阵是否是空的,是否是二维矩阵 ②初始化变量:矩阵行、列数原创 2021-03-10 10:08:58 · 572 阅读 · 0 评论 -
leetcode(数组) --- JavaScript ---二维数组的查找_官方的螃蟹走法
var findnumin2dArray = function (matrix, target){ if (matrix.length==0 || matrix[0].length==0){ return false; } const maxrows = matrix.length - 1; const maxcols = matrix[0].length - 1; let row = maxrows, col = 0; while (row&原创 2021-03-10 10:06:18 · 83 阅读 · 0 评论 -
leetcode(数组) — JavaScript — 统计一个数字在排序数组中出现的次数
var findNums = function (nums, target){ res = 0; while (nums.indexOf(target)!=-1){ res++; nums.splice(nums.indexOf(target),1) } return res;}console.log(findNums([5,7,7,8,8,8], 6));原创 2021-03-10 10:05:15 · 252 阅读 · 1 评论 -
leetcode(数组) --- JavaScript --- 0~n-1中缺失的数字
leetcode(数组) — JavaScript — 0~n-1中缺失的数字// Math.floor(x):对一个数向下取整// 二分查找法var findmissingNumber = function (nums){ let len = nums.length; // 判断是否是第一个或最后一个缺失 if (nums[0] != 0){ return 0 } if (nums[len-1] != len){ return原创 2021-03-10 10:03:32 · 201 阅读 · 0 评论 -
webstorm环境变量配置
webstorm环境变量配置在学习JS中ES6的语言规则时,准备动手在webstrom上面敲敲熟练一下的,结果发现想要输出(即consolo.log())并不能打印出来,于是查询了很多资料,总结如下。在https://nodejs.org/en/下载node.js下载好直接安装在cmd命令行中查看是否安装完成,输入path,出现如下进入已安装好的webstorm,点击左上角的file—>settings---->搜索node.js,显示如下在右边找到你的安装地址,点击ok,即可原创 2020-12-25 18:47:42 · 2928 阅读 · 0 评论