
读书有感
一头秀发炮哥哥
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从输入URL到页面加载完成,发生了什么?
从输入URL到页面加载完成,发生了什么?用户输入https://www.madapao.vip浏览器通过DNS,把url解析成IP和IP地址建立TCP链接,发送HTTP请求服务器接收请求,查库,读文件等,拼接好返回的HTTP响应浏览器接收到首屏html,开始渲染解析html为dom解析css为css-treedom+css生成render-tree绘图加载script的js文件...原创 2019-12-10 15:15:01 · 131 阅读 · 0 评论 -
js——undefined和undeclared
先看例子:var a;a; //undefined b; //b is not defined这样的报错会让我们认为b也是undefined更让人抓狂的是:var a;typeof a; //undefined typeof b; //undefined 虽然两个都输出undefined,但是两个是不同的,b是一个undeclared变量,typeof b并没有报...原创 2019-11-18 22:22:37 · 381 阅读 · 0 评论 -
js——值和类型
js中的变量是没有类型的,只有值才有,变量可以随时持有任何类型的值。 var a = 42; typeof a; //number a = true; typeof a; //boolean typeof typeof a;//总是返回--string...原创 2019-11-18 22:09:48 · 125 阅读 · 0 评论 -
js---内置类型(1)
js的内置类型空值(null)未定义(undefined)布尔值(boolean)数字(number)字符串(string)对象(object)符号(symbol,es6中新增)我们通常用typeof来判断一个变量的类型typeof undefined === 'undefined'; //truetypeof true === 'boolean'; //truety...原创 2019-10-29 23:29:39 · 200 阅读 · 0 评论 -
彻底玩转this指向
四个常规、一个特殊四个常规:1.new绑定function foo(a) { this.a = a}var bar = new foo(2)console.log(bar.a) //2使用new调用的函数,则其中this将会被绑定到那个新构造的对象。2.显式绑定let web = { webName: "蚂蚁部落" };function fn() { console.l...原创 2019-10-15 11:21:33 · 161 阅读 · 0 评论 -
动态作用域
我们先看下一段代码 function foo() { console.log(a) } function bar() { var a = 3; foo() } var a = 2; bar()词法作用域:输出2如果有动态作用域动态作用域:输出3当然javascript并不错在动态作用域,只有词法作用域但是th...原创 2019-10-09 09:44:53 · 848 阅读 · 0 评论 -
js——闭包
闭包今天我们谈闭包,纯粹个人理解function foo(){ var a=2; function bar(){ console.log(a) } return bar}var baz = foo();baz();//2理解在foo()执行后,通常foo()的整个内部作用域会被销毁,因为引擎有垃圾回收器用来释放不在使用的内存空间。由于看上去foo()的内容不在使用,...原创 2019-09-26 18:48:43 · 200 阅读 · 1 评论 -
立即执行函数表达式
立即执行函数表达式var a = 2;(function foo(){ var a = 3; console.log(a); //3})()console.log(a); //2由于函数被包含在一对()括号内部,因此成为一个表达式,通过在末尾加上另外一个()可以立即执行这个函数,比如(function foo(){…}())。第一个()将函数表达式,第二个()执行了这个函数。...原创 2019-09-26 10:06:19 · 146 阅读 · 0 评论 -
js变量提升
先上总结:定义提升,赋值不会提升大家记住这句话,接下来我们开讲:例1console.log(a)var a = 2;输出undefined,它的实际执行过程:var a;console.log(a)a = 2;这是最简单的例子,var a;是定义的过程,而a = 2是赋值过程例2(难一diudiu)foo();function foo(){ console.log(a...原创 2019-09-19 10:34:54 · 107 阅读 · 0 评论 -
函数作用域
在任意代码片段外部添加包裹函数,可以将内部的变量和函数定义“隐藏”起来,如下function foo(){ var a = 3; console.log(a)}这种方式不理想,会foo函数会“污染”到全局作用域,而且需要foo()调用才会执行更好的方案(function foo(){ var a = 3; console.log(a)})()优点:foo不属于全局...原创 2019-09-18 00:21:31 · 135 阅读 · 0 评论 -
有趣的js作用域
1. 定义变量举例:var a = 2;解释:两个主人翁:编译器引擎两步操作:编译器定义一个内存,命名为a引擎把2赋值给内存aLHS查询和RHS查询var a = 2;var b= 1 + a;LHS查询:查询到一个变量,对其进行赋值的过程 (如:a=2的过程)RHS查询:查询到一个变量,并用其值的过程 (如:b= 1 + a 用到了a的值)...原创 2019-09-11 17:27:40 · 132 阅读 · 0 评论