zoukankan      html  css  js  c++  java
  • 作用域 this 链等概念 简单点 套路都简单点

    我特别不喜欢为了装x把简单的概念弄得很复杂,比如某语言里的i++和++i,断送了多少人的编程热情啊~搞得我现在看到这两玩意儿都条件反射般地格外小心。

    作用域:

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

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

    多简单!


    闭包:

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

    多简单!

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

    this:

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

    多简单!

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

    多简单!


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

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

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

    多简单!

  • 相关阅读:
    ExecutorService 和 NSOperationQueue
    Android 中的AsyncTask
    正则表达式里"-"中划线的使用注意
    Android studio 程序升级和sdk manager 升级方法
    推荐一篇java抽象类和接口区别的文章
    Android measure和layout的一点理解
    Android 屏幕旋转
    Android 中的openurl
    UML 序列图一点理解
    Android Studio中的Module,Facet
  • 原文地址:https://www.cnblogs.com/zhouxiaohouer/p/7905451.html
Copyright © 2011-2022 走看看