笔记
文章平均质量分 89
李某龙
这个作者很懒,什么都没留下…
展开
-
编译型语言和解释型语言的区别
我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定:有的编程语言要求必须提前将所有源代码一次性转换成二进制..转载 2022-04-19 15:05:39 · 3869 阅读 · 0 评论 -
函数传参你真的懂吗?
直接开门见山,上代码!var a = 1;function func(args) { args = 10; console.log("args:"+args);}func(a);console.log("a:"+a);/**args:10a:1**/var a = { 'x':1};function func(args) { args.x = 10; console.log("args.x:"+args.x);}func(a);console.log("原创 2020-11-20 15:06:23 · 6291 阅读 · 0 评论 -
浅析浏览器的Event Loop
前言众所周知 JS 是门非阻塞单线程语言,因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程语言的话,我们在多个线程中处理 DOM 就可能会发生问题(一个线程中新加节点,另一个线程中删除节点,这样的话浏览器就知不道要怎么操作了,到底是新增还是删除,很矛盾)。所以JS 就被设计成单线程语言,之前是这样,今后也是这样。Event LoopEvent Loop 是计算机系统的一种运行机制。想要理解 Event Loop,就要从程序的运行模式讲起。运行以后的程序叫做"进程"(p.原创 2020-10-28 09:33:36 · 6282 阅读 · 0 评论 -
event.target 和 event.currentTarget 的区别
event.targetThis property of event objects is the object the event was dispatched on. It is different than event.currentTarget when the event handler is called in bubbling or capturing phase of the event.event.currentTargetIdentifies the current .转载 2020-10-28 09:33:16 · 6612 阅读 · 0 评论 -
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
目录1. 前言2. _ _ proto _ _ 属性3. prototype属性4. constructor属性5. 总结1. 前言作为一名前端工程师,必须搞懂JS中的prototype、__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,__proto__属性的两边是各由两个下划线构成(这里为了方便大家看清,在两下划线之间加入了一个空格:_ _proto_ _,读作转载 2020-07-15 17:14:55 · 6901 阅读 · 2 评论 -
细说innerHTML、innerText、outerHTML、outerText、textContent的区别
简析这几个属性都是原生 JS 用来获取和设置 DOM 节点的内容的,但是获取的内容格式和范围却有一些不同。对比一先上一段代码<div id="test"> <span style="color:red">test1</span> test2 </div>var elementNode = document.getElementById('test');innerHTML获取或设置从对象的起始位置到终止位置的全.原创 2020-07-03 17:47:34 · 8827 阅读 · 0 评论 -
初窥Deno 1.0面纱
引言2020 年 5 月 13 日,可能是前端开发史上又一个里程碑式的一天,因为一个名为 Deno 的库 1.0 版本正式发布了。那么问题来了,Deno 是什么?为什么说是里程碑?它和 Node 有什么关系?和我又有什么关系?带着疑问,跟着我一起来初窥 Deno 1.0 的神秘面纱吧。背景Deno 是 Ryan Dahl 在 2017 年开始的一个项目。从那时候开始,就有不少人开始关注这个项目了,为什么?这要从 Ryan Dahl 这个人说起。Ryan Dahl ,2009 年创..原创 2020-05-29 16:17:37 · 9910 阅读 · 0 评论 -
「硬核JS」一次搞懂JS运行机制
前言从开始做前端到目前为止,陆续看了很多帖子讲JS运行机制,看过不久就忘了,还是自己理一遍好些通过码字使自己对JS运行机制相关内容更加深刻(自己用心写过的贴子,内容也会牢记于心)顺道给大家看看(我太难了,深夜码字,反复修改,说这么多就是想请你点个赞在看)参考了很多资料(帖子),取其精华,去其糟糠,都在文末,可自行了解是时候搞一波我大js了从零到一百再到一,从多方面了解JS的...转载 2020-03-10 15:33:47 · 7607 阅读 · 0 评论 -
js 如何使 (aᅠ==1 && a== 2 && a==3) 返回 true?
今天刷博客的时候,看到了一道有趣的面试题“如何使 (aᅠ==1 && a== 2 && a==3) 返回 true”,咋一眼看过去,觉得非常的unbelievable!!!看了别人给的答案之后,陷入了沉思。。。然后感叹一声:原来如此!解法一:对象类型转换var a = { i: 1, toString: function...原创 2020-03-02 14:50:22 · 7088 阅读 · 1 评论 -
前端加分项之Nginx(上篇)
日常生活中,我们免不了要去一些比较拥挤的地方,比如地铁站、火车站、银行等。这些地点都有一个特征,都会设置多个服务点或者入口,大多数情况下,最近的入口会挤满人,而那些距离较远的服务点或者入口来说,人流密度一般会少很多。其实,网站的建设也是一样的,一般公司网站或者系统都是有好几台甚至更多服务器一起支撑起来的。当用户集中访问网站的时候,如果没有任何机制来疏导用户的访问,完全随机或者就近原则的话,那...原创 2019-09-17 15:20:44 · 6786 阅读 · 0 评论 -
微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)
此类事件是手机touchmove默认事件行为,可以通过js代码隐藏事件:$(‘body’).on(‘touchmove’, function (event){ event.preventDefault();});document.addEventListener('touchmove', { function(e){ e.preventDefault...原创 2019-08-14 15:45:01 · 9476 阅读 · 0 评论 -
let和const----你所不知道的JavaScript系列(2)
let众所周知,在ES6之前,声明变量的关键字就只有var。var 声明变量要么是全局的,要么是函数级的,而无法是块级的。var a=1;console.log(a); //1console.log(window.a); //1function test(){ var b=2; function print(){ console.log(a,b); } pr...原创 2018-07-04 17:01:21 · 6925 阅读 · 0 评论 -
提升----你所不知道的JavaScript系列(3)
很多编程语言在执行的时候都是自上而下执行,但实际上这种想法在JavaScript中并不完全正确, 有一种特殊情况会导致这个假设是错误的。来看看下面的代码,a = 2;var a;console.log( a );console.log(a) 会输出什么呢?有些人可能会认为是 undefined,因为 var a 声明在 a = 2 之后,他们自然而然地认为变量被重新赋值了,因此会被赋予默认值 ...原创 2018-07-04 17:39:45 · 7000 阅读 · 0 评论 -
闭包----你所不知道的JavaScript系列(4)
一、闭包是什么? · 闭包就是可以使得函数外部的对象能够获取函数内部的信息。 · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 · 闭包就是一个“捕获”或“携带”了其被生成的环境中、所属的变量范围内所引用的所有变量的函数。 还有很多很多解释...... 函数对象可以通过作用域链互相关联起来,函数体内部的变量都可以保存在函数作...原创 2018-07-04 18:03:08 · 6807 阅读 · 0 评论 -
深入浅出js中的this
Q:this是什么?A:this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,在每个 function 中自动根据作用域(scope) 确定, 指向的是此次调用者。 Q:this的使用场景?A: 1.普通函数调用。 2.作为对象的方法来调用。 3.作为构造函数调用。 4.函数被call,apply,bind调用的时候。 栗子:普通函数调用function...原创 2018-07-05 09:42:44 · 6786 阅读 · 0 评论 -
【入门篇】js正则表达式
前言最近有了点时间,就回头看了一下《学习正则表达式》这本书。怎么说呢,这本书适合从零开始学习正则表达式或者有一点基础但是想要加强这方面能力的读者。这本书的风格是“实践出真知”,使用归纳方式讲述, 也就是说, 会从特例讲起, 最终归结到一般情况。不会先陈述观点, 然后举例, 而是先为大家展示示例, 然后归纳出一般性结论。所以刚开始的话还是有点不习惯这种风格。吐槽只是皮一下而已啦,这本...原创 2019-02-25 11:03:13 · 7848 阅读 · 2 评论 -
js中的栈、堆、队列、内存空间
栈(stack) 、堆(heap)、 队列(queue)是js的三种数据结构。栈(stack)栈的特点是"LIFO,即后进先出(Last in, first out)"。数据存储时只能从顶部逐个存入,取出时也需从顶部逐个取出。《前端进击的巨人(一):执行上下文与执行栈,变量对象》中解释执行栈时,举了一个乒乓球盒子的例子,来演示栈的存取方式,这里再举个栗子搭积木。举个栗子:乒乓球盒子...原创 2019-02-26 11:56:35 · 7458 阅读 · 0 评论 -
深入浅出js中的this
Q:this是什么?A:this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,在每个 function 中自动根据作用域(scope) 确定, 指向的是此次调用者。Q:this的使用场景?A:1.普通函数调用。 2.作为对象的方法来调用。 3.作为构造函数调用。 4.函数被call,apply,bind调用的时候。...原创 2019-03-05 17:03:21 · 6960 阅读 · 0 评论 -
RESTful API浅谈
RESTREST全称是Representational State Transfer,中文翻译的话有很多种说法,比如:表现层状态转化、表述性状态转移、表述性状态传递等等,不管怎么翻译,大致的意思都是:资源在网络中以某种表现形式进行状态转移。理解“表现层状态转化”:1. Representational(表现层)某种表现形式,比如用JSON,XML,JPEG等。我们把"资...转载 2019-03-19 17:01:53 · 6945 阅读 · 0 评论 -
实例解析forEach、for...in与for...of
在开发过程中经常需要循环遍历数组或者对象,js也为我们提供了不少方法供使用,其中就有三兄弟forEach、for...in、for...of,这三个方法应该是使用频率最高的,但很多人却一值傻傻分不清,经常该混淆了它们的功能和注意点。就在今天,我来给它们一个大区分(*・ω< )。forEachforEach() 方法对数组的每个元素执行一次提供的函数。从ES5开始,Javasc...原创 2019-03-22 15:30:43 · 7096 阅读 · 0 评论 -
LHS 和 RHS----你所不知道的JavaScript系列(1)
变量的赋值操作会执行两个动作, 首先编译器会在当前作用域中声明一个变量(如果之前没有声明过), 然后在运行时引擎会在作用域中查找该变量, 如果能够找到就会对它赋值。----《你所不知道的JavaScript(上)》 P7而要讲的 LHS 和 RHS 就是上面说的对变量的两种查找操作,查找的过程是由作用域(词法作用域)进行协助,但是引擎执行怎样的查找, 会影响最终的查找结果。 1、LHS(Left ...原创 2018-07-04 16:45:47 · 557 阅读 · 0 评论