作用域 this 链等概念 简单点 套路都简单点

我特别不喜欢为了装x把简单的概念弄得很复杂,比如某语言里的i++和++i,断送了多少人的编程热情啊~

作用域:

js里的作用域,一个全局作用域,一个函数(局部)作用域,这不就完事儿了吗?

小范围调大范围里的变量,可以。
大范围调小范围里的变量,想得美。

多简单!

闭包:

有一天我想得美了,想把小范围里的变量搞到手,于是就有闭包了。说白了,闭包就是挖墙脚的,哦,不,闭包是为了函数外部访问函数内部的变量而存在的。

多简单!

哦,这里要说一句:滥用闭包对内存有影响,还挺大的。

this:

这是个调皮的关键词,中英文里有主谓结构,js里也有啊,比如window.alert(),window就是方法alert的执行者。

多简单!

而this总是指向调用这个方法的对象,也就是上面说的主语,方法的执行者,找不到调用对象就指向window。
看到new了?ok,指向new出来的对象就行了。

多简单!

作用域链,原型链,npm包链:
找你老妈要零花钱?要到了:找奶奶要?要到了:找老祖宗要?要到了:报错

看不懂?这么形象的比喻都看不懂?三元操作符啊亲。

作用域链:函数内部有这个变量就用,没有就看外面有没有,看外面的外面...要是到window里都没有,报错。
原型链:实例对象上没有这个属性,看原型上有没有,原型的原型呢,原型的原型的原型呢,到null都没有,哦,null也不可能有,报错。
npm:本地项目目录有没有这个包,没有就去全局找,还没有?报错。

多简单!

时间: 2024-10-03 20:22:10

作用域 this 链等概念 简单点 套路都简单点的相关文章

区块链从概念到落地,多样化应用激活大数据经济

随着比特币在今年创下一轮又一轮令人咋舌的新高,比特币的底层技术区块链也迎来了爆发式的阶段.麦肯锡公司最近向美国联邦保险咨询委员会提交了一份区块链技术报告,报告把2009年以2016年称为"黑暗时代",其间所有区块链解决方案都基于比特币,而区块链的新时代将从2016年开始,超过100种区块链技术解决方案已被探索.麦肯锡认为,基于区块链目前的发展速度,区块链解决方案也许会在未来5年达到全部潜力. 在今年5月的Consensus 2017全球区块链大会上,来自全球数百位区块链专家和数千位从业

BFS简单题套路_Codevs 1215 迷宫

BFS 简单题套路 1. 遇到迷宫之类的简单题,有什么行走方向的,先写下面的 声明 const int maxn = 20; struct Status { int r, c; Status(int r = 0, int c = 0) : r(r), c(c) {} // int DIR; }; int N; //迷宫数量 int W; //迷宫宽度 char map[maxn][maxn]; //地图 //方向 : 分别代表 上.右.下.左向量 int dir[4][2] = { {-1, 0

002/区块链核心概念与原理详解(Mooc)

视频地址:https://www.imooc.com/learn/988 1.课程介绍 (一).区块链前世今生 密码朋克--神秘组织(邮件组) 2.区块链核心概念与原理 (一)比特币是数字货币 为什么叫区块链? 因为比特币系统里面的数据是一个个的区块来存储,并且通过hash方式将一个个区块链接起来.这样就形成了一个区块的链条叫区块链. 什么是比特币? 一串数字可以用于货币交换叫数字货币或虚拟货币--比特币 比特币就是一个虚拟货币,它的价值来源于大家的信任.在区块链中通常称为共识.(大家认为它有价

[转帖](区块链补习班)ERC20很多人都听过,但ERC是什么你真的了解吗?

(区块链补习班)ERC20很多人都听过,但ERC是什么你真的了解吗? http://baijiahao.baidu.com/s?id=1600948969290990883&wfr=spider&for=pc 区块链福利社 发布时间:18-05-2012:15 ▌今日币价 Btc$8505/ Eth$707/Eos$12.94 本文不介绍技术代码相关,具体代码可在文末自行下载学习,为了方便阅读下文,特此做几个定义的解释: 可替代性通证(fungible token):在本文指的是基于区块链

HDU 3966 Aragorn's Story (树链点权剖分,成段修改单点查询)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966 树链剖分的模版,成段更新单点查询.熟悉线段树的成段更新的话就小case啦. 1 //树链剖分 边权修改 单点查询 2 #include <iostream> 3 #include <cstring> 4 #include <algorithm> 5 #include <cstdio> 6 using namespace std; 7 const int M

作用域、闭包等概念的理解

总结一下我对JS中这些基本却略纠结的概念的理解. 作用域 我们知道,JS不支持块级作用域,只支持函数作用域.函数体内,既不是局部变量,也不是参数的变量称为自由变量.如果没搞清楚函数的作用域,有时某些自由变量的值会与你所想的很不一样.举个简单例子 1 var a = 10; 2 3 function getA() { 4 alert(a); 5 } 6 7 (function() { 8 var a = 20; 9 getA(); //10 10 })(); 11 12 (function(fn)

JavaScript函数之作用域 / 作用链域 / 预解析

关于作用域和作用链域的问题,很多文章讲的都很详细,本文属于摘录自己觉得对自己有价值的部分,留由后用,仅供参考,需要查看详细信息请点击我给出的原文链接查看原文件 做一个有爱的搬运工~~ ------------------------------------------------------------------------------------------------------------------------------------------- 作用域 js中作用域只有一种,就是函

基于Tendermint的区块链漂流瓶简单实现

本文主要借demo介绍基于Tendermint的区块链应用开发,这个demo很简单,主要包含以下功能: 扔漂流瓶 捞漂流瓶 之后投放者和打捞者可以相互传递[加密]信息 代码已上传至github. Tendermint Tendermint帮我们实现了PBFT,相当于搭了一个共识框架,包含两部分: Tendermint-core:PBFT共识算法实现: Tendermint-abci:定义了应用须实现的接口和调用规则,还实现了与外部通信的socket-server.官方的这部分源码可以看做是Go-

JQuery链式操作简单的菜单列表

看到这个简单的菜单demo,也是为了再看看JQuery对DOM的操作,一直都记不牢,特别是siblings()这个总是想不起来. 这次再过一遍JQuery,不管简单的还是复杂的demo 还是坚持练习一遍吧!只为记录,如果同时能给你提供帮助,这样最好! <style> .wrap{ width: 100%; } .inner{ width: 62.5%; margin: auto; padding: 50px; border:1px solid #ccc; box-sizing:border-b