JavaScript
死亦何哀
这个作者很懒,什么都没留下…
展开
-
【js】【力扣】两数之和
【代码】【js】【力扣】两数之和。原创 2023-02-01 11:49:51 · 224 阅读 · 0 评论 -
【supermap】空间查询(post)
const res1 = await axios({ url: 'http://192.168.199.141:8888/ProxyServices/map-LJ_XZJ_2000_4490|supermap_rest/rest/maps/LJ_XZJ_2000_4490/queryResults.json?returnPostAction=true&getMethodForm=true&returnContent=true&token=12345678',原创 2022-05-05 08:58:29 · 766 阅读 · 0 评论 -
【力扣算法之路】day3 213. 打家劫舍 II
题目描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。示例 1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2),因为他们原创 2021-12-29 16:52:24 · 110 阅读 · 0 评论 -
【力扣算法之路】day3 198. 打家劫舍
题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7原创 2021-12-29 15:09:04 · 580 阅读 · 0 评论 -
【力扣算法之路】day2 746. 使用最小花费爬楼梯
题目描述给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1:输入:cost = [10,15,20] 输出:15 解释:你将从下标为 1 的台阶开始。支付 15 ,向上爬两个台阶,到达楼梯顶部。 总花费为 15 。示例 2:输入:cost = [1,100,1,1,1,100,1,1,100原创 2021-12-28 22:20:32 · 310 阅读 · 0 评论 -
【力扣算法之路】day2 70. 爬楼梯
题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶 示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problem原创 2021-12-28 20:23:52 · 3486 阅读 · 0 评论 -
【力扣算法之路】day1 1137. 第 N 个泰波那契数
题目描述泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。示例 1:输入:n = 4 输出:4解释: T_3 = 0 + 1 + 1 = 2 T_4 = 1 + 1 + 2 = 4示例 2:输入:n = 25输出:1389537提示:0 <= n <= 37 答案保证是一个 32 位整数,即 answer &l原创 2021-12-27 10:46:40 · 3567 阅读 · 0 评论 -
【力扣算法之路】day1 509. 斐波那契数
/** * @param {number} n * @return {number} */var fib = function (n) { let ArrayList = [0,1]; for (let i = 2; i <= n; i++) { ArrayList[i] = ArrayList[i-1] + ArrayList[i-2];// } return ArrayList[n];};原创 2021-12-27 10:35:42 · 2972 阅读 · 0 评论 -
【JavaScript】深克隆使用while实现
function deepClone1(o) { let result = {}; // 栈 let loopList = [ { parent: result, key: undefined, data: o, }, ]; while (loopList.length) { let node ..原创 2021-12-17 09:08:27 · 1151 阅读 · 0 评论 -
【JavaScript】严格模式use strict
“use strict” 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。“use strict” 的目的是指定代码在严格条件下执行。严格模式下你不能使用未声明的变量。在实际开发中,现在基本已经全部采用严格模式了,而最新的ES6,也是默认支持严格模式...原创 2021-12-09 16:23:47 · 354 阅读 · 0 评论 -
【JavaScript】一个函数的this绑定规则
如果要判断一个函数的this绑定,就需要找到这个函数的直接调用位置。然后可以按照下面四条规则来判断this的绑定对象:1.由new调用:绑定到新创建的对象2.由call或apply、bind调用:绑定到指定的对象3.由上下文对象调用:绑定到上下文对象4.默认:全局对象注意:箭头函数不使用上面的绑定规则,根据外层作用域来决定this,继承外层函数调用的this绑定。...原创 2021-12-07 15:11:03 · 282 阅读 · 0 评论 -
【Javascript】js执行上下文与作用域
今天看完js执行上下文与作用域感觉对js的执行上下文和作用域还是理解不够深刻,但是这个视频给我讲得明明白白了,在此记录下。视频最后总结Javascript变量先“登记”后使用,登记的地方叫执行上下文var变量和和函数声明“登记”时,创建在全局对象上,同时初始化,有“提升”现象let、const、class声明“登记”时,创建在“全局块”上,未初始化,不能提前使用作用域可以理解为当前执行上下文4种情况会创建新的执行上下:全局、function、eval、module函数的作用域,原创 2021-11-30 15:59:00 · 540 阅读 · 0 评论 -
【ARCGIS】ArcGIS API for JavaScript 4.18基于ES Modules的新开发方式@arcgis/core补充
原链接:ArcGIS API for JavaScript 4.18基于ES Modules的新开发方式@arcgis/core补充一点就是,需要在代码中加上import esriConfig from "@arcgis/core/config.js";esriConfig.assetsPath = "./assets";具体原因参考:官方说明原创 2021-07-11 01:09:04 · 562 阅读 · 0 评论 -
【ARCGIS API FOR JS】关于配置跨域后调用天地图时出现403问题
因为公司内网不能访问天地图,所以在外网服务器上配置了ARCGIS API FOR JS跨域,根据跨域配置配置完毕之后。前端给我报了一个403禁止访问,纠结了很久,才发现是用的天地图token是只有浏览器的权限。解决方法:重新到天地图官网,参照天地图应用开发许可升级说明重新申请了一个服务端的token即可,完美解决,特此记录下。...原创 2021-06-01 15:59:34 · 1588 阅读 · 0 评论 -
【ARCGIS API FOR JS】关于因为server服务缓存在浏览器,查询到的数据不是最新数据如何解决的记录
解决办法1.在html文件中出入代码<meta http-equiv="pragma" content="no-cache" /><meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /><meta http-equiv="expires" content="0" />2.设置服务属性中池化的空闲实例可保持运行的时间为1秒后记问题基本解决了,但操作快了还是会出现读到服务缓原创 2021-03-25 21:51:51 · 286 阅读 · 2 评论 -
【JS】70 个 JavaScript 面试题及答案集锦
70 个 JavaScript 面试题及答案集锦(1-10)转载 2021-03-20 18:12:34 · 242 阅读 · 0 评论 -
【JS】ECMAScript 2021 新特征
ECMAScript 2021 新特征转载 2021-01-28 09:26:46 · 342 阅读 · 0 评论 -
【力扣】链表相交(数学手段)
题目给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA= 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注转载 2021-01-27 10:11:22 · 134 阅读 · 0 评论 -
【力扣】 移除重复节点(链表+set)
题目编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2:输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示:链表长度在[0, 20000]范围内。 链表元素在[0, 20000]范围内。思路关键是定义一个set集合来剔除重复值解/** * Definition for singly-linked list. * class ListNode { * val:转载 2021-01-25 17:27:37 · 220 阅读 · 0 评论 -
【力扣】配对交换
题目配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。示例1:输入:num = 2(或者0b10) 输出 1 (或者 0b01)示例2:输入:num = 3 输出:3 提示:num的范围在[0, 2^30 - 1]之间,不会发生整数溢出。分析这个题目考察的是基本的位运算,与运算 &,或运算 |思路就是:先设定两个特殊的二进制数a:B1010101010101010101010101010101b:转载 2021-01-22 11:40:51 · 262 阅读 · 0 评论 -
【JS】JS中的逻辑运算符&&、||,位运算符|,&
JS中的逻辑运算符&&、||,位运算符|,&转载 2021-01-22 11:20:45 · 206 阅读 · 0 评论 -
【力扣】两个栈实现队列-化栈为队(TS)
题目实现一个MyQueue类,该类用两个栈来实现一个队列。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); //返回 1queue.empty(); // 返回 false说明:1.你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size 和 is empty操作是合法的。2.你所转载 2021-01-19 11:40:32 · 185 阅读 · 0 评论 -
【JS】AJAX 和 Flash 的优势劣势
1.Ajax的优势:1.可搜索性 2.开放性 3.费用 4.易用性 5.易于开发。2.Flash的优势:1.多媒体处理 2.兼容性 3.矢量图形 4.客户端资源调度3.Ajax的劣势:1.它可能破坏浏览器的后退功能 2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中 ,不过这些都有相关方法解决。4.Flash的劣势:1.二进制格式 2.格式私有 3.flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间 4.性能问题转于:https://www.nowcoder.c转载 2020-10-20 09:20:02 · 124 阅读 · 0 评论 -
【JS】javascript中实现跨域的方式总结
第一种方式:jsonp请求;jsonp的原理是利用 script 标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有 img.第二种方式:document.domain;这种方式用在主域名相同子域名不同的跨域访问中第三种方式:window.name;window的name属性有个特征:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,转载 2020-10-21 09:10:30 · 110 阅读 · 0 评论 -
【JS】apply,call,bind的用法和区别(方法劫持)
用途:手动改变this的指向区别:1.apply和call会使当前函数立即执行,bind会返回一个函数,后续需要时再调用call是apply的语法糖,只有传的参数不同,call中要传多个任意参数,apply只可以直接传数组或者类数组bind是为函数绑定一个this上下文规则: fn.apply(上下文环境,执行所需数组) fn.call(上下文环境,执行所需单个参数) fn.bind(上下文环境)ps:如果上下文的值为null,则使用全局对象代替,相当于没传上下文还用以前的a转载 2020-10-21 09:35:07 · 231 阅读 · 0 评论 -
【JS】常见的请求头和相应头
1)请求(客户端->服务端[request])GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号)Accept: /(客户端能接收的资源类型)Accept-Language: en-us(客户端接收的语言类型)Connection: Keep-Alive(维护客户端和服务端的连接关系)Host: localhost:8080(连接的目标主机和端口号)Referer: http://localhost/links.asp转载 2020-10-22 09:47:06 · 1225 阅读 · 0 评论 -
【JS】关于变量提升的教训
如题:<html> <head> <script> function myFunc() { document.write(a); // a已变量提升,但是因为赋值在后面,所以打印undefined document.write(func()); // 执行函数 打印出2 var a = 1; // 这里的a已经变量提升了,但是在这一步才赋值 function func() { return 2; } } </script> </原创 2020-10-23 09:12:42 · 150 阅读 · 0 评论 -
【JS】jquery关于获取高宽的方法总结
alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度 alert($(document.body).height());//浏览器当前窗口文档body的高度 alert($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin alert($(window).width()); /原创 2020-10-23 09:34:27 · 86 阅读 · 0 评论 -
【JS】JavaScript可迭代对象
ES6 规定,默认的 Iterator 接口部署在数据结构的Symbol.iterator属性,或者说,一个数据结构只要具有Symbol.iterator属性,就可以认为是“可遍历的”(iterable)。原生具备 Iterator 接口的数据结构如下。ArrayMapSetStringTypedArray函数的 arguments 对象NodeList 对象...转载 2020-10-26 10:06:04 · 460 阅读 · 0 评论 -
【JS】关于正则表达式的字符含义
:出现零到多次+: 出现一到多次?:出现零次或者一次. : 除了\n以外的任意字符{n} : 出现n次{n,} : 出现n到多次{n,m} : 出现n到m次var reg=/^0.2$/; //以0开头,以2结尾,中间可以是\n以外的任意字符...原创 2020-10-27 10:03:18 · 93 阅读 · 0 评论 -
【JS】Javascript高级编程读书小结(第一章)
小结JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。1 ECMAScript:由 ECMA-262 定义并提供核心功能。2 文档对象模型(DOM):提供与网页内容交互的方法和接口。3 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES原创 2021-01-14 14:04:45 · 120 阅读 · 0 评论 -
【JS】JavaScript高级程序设计(第四版)第二章HTML中的Javascript 小结
JavaScript 是通过 <script> 元素插入到 HTML 页面中的。这个元素可用于把 JavaScript 代码嵌入到HTML 页面中,跟其他标记混合在一起,也可用于引入保存在外部文件中的 JavaScript。本章的重点可以总结如下:1 要包含外部 JavaScript 文件,必须将 src 属性设置为要包含文件的URL。文件可以跟网页在同一台服务器上,也可以位于完全不同的域。2 所有 <script> 元素会依照它们在网页中出现的次序被解释。在不使用原创 2020-12-09 10:27:57 · 205 阅读 · 0 评论 -
【JS】JavaScript的作用域和闭包
作用域在编程语言中,作用域控制着变量和参数可见性及生命周期。对程序员来说,这是一项重要的服务,因为它减少了名称冲突,并且提供了自动内存管理。var foo = function(){ var a=3,b=5; var bar = function(){ var b=7,c=11; //此时,a为3,b为7, c为11 a+=b+c; //此时,a为21,b为7,c为11...原创 2020-04-12 15:11:31 · 134 阅读 · 0 评论 -
【JS】JavaScript函数
JavaScript函数学习小结02参数返回Return异常Exceptions扩充类型的功能参数当函数被调用的时候,会得到一个免费配送的参数,那就是arguments数组。函数可以通过此参数来访问所有函数被调用时传递的参数列表,包括那些没有被分配给函数声明时定义的形式参数的多余参数。这使得编写一个无须指定参数个数的函数成为可能://构造一个将大量值相加的函数//这个函数内部定义的变量su...原创 2020-04-11 17:15:21 · 94 阅读 · 0 评论 -
【JS】JavaScript函数
JavaScript的函数字面量以及调用模式函数字面量调用方法调用模式函数调用模式构造器调用模式Apply调用模式函数字面量函数对象通过函数字面量来创建//创建一个名为 add 的变量, 并把两个数字相加的函数赋给它var add = function(a,b){ return a+b;}函数字面量包括4个部分。第一个部分是保留字 function。第二个部分是函数名,它可以被省...原创 2020-04-11 16:16:12 · 169 阅读 · 0 评论 -
【力扣】比较两数字最大数值(TS)
最大数值编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。示例:输入: a = 1, b = 2 输出: 2function maximum(a: number, b: number): number { return ((a+b)+Math.abs(a-b))/2;};利用数学公式:Max(a,b) = ((a+b)+|a-b|)/2...转载 2021-01-11 21:32:44 · 1021 阅读 · 0 评论 -
【力扣】快慢指针
题目:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的 k 保证是有效的。来源:力扣(LeetCode)/** * Definition for singly-linked list. * class ListNode { * val: number * next: ListNode | null * cons转载 2021-01-10 18:29:15 · 196 阅读 · 0 评论 -
【JS】Javascript高级程序设计第五章 小结
第五章 基本引用类型1.引用类型虽然有点像类,但跟类并不是一个概念。2.原创 2020-12-21 14:51:47 · 155 阅读 · 0 评论 -
【vue】vue 快速原型开发
vue 快速原型开发转载 2020-12-15 14:18:51 · 490 阅读 · 0 评论 -
【JS】Javascript高级程序设计第四章 小结
JavaScript 变量可以保存两种类型的值:原始值和引用值。原始值可能是以下 6 种原始数据类型之一: Undefined 、 Null 、 Boolean 、 Number 、 String 和 Symbol 。原始值和引用值有以下特点。 原始值大小固定,因此保存在栈内存上。 从一个变量到另一个变量复制原始值会创建该值的第二个副本。 引用值是对象,存储在堆内存上。 包含引用值的变量实际上只包含指向相应对象的一个指针,而不是对象本身。 从一个变量到另一个变量复制引用值只会复原创 2020-12-11 16:55:28 · 94 阅读 · 0 评论