规律1:函数用圆括号调用,函数的上下文是window对象 比如小题目: function fun(){ var a = 888; alert(this.a); //实际上访问的是window.a } var a = 666; fun(); //弹出666 函数function fun(){}的上下文是什么!不要看它怎么定义,要看它怎么调用!!此时是fun()函数名加上圆括号直接调用,此时上下文就是window对象! 而我们知道:所有的全局变量都是window对象的属性,(注意:函数里面的局部变量
看了知乎上的话题 如何才能通俗易懂的解释javascript里面的‘闭包’?,受到一些启发,因此结合实例将回答中几个精要的答案做一个简单的分析以便加深理解. 1. "闭包就是跨作用域访问变量." [示例一] var name = 'wangxi' function user () { // var name = 'wangxi' function getName () { console.log(name) } getName() } user() // wangxi 在 getNa
类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多 (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始化,但是这是不符合语法的,如果用g++编译器,就会出现明显的报错,不利于程序的移植) class constNum{ //const int size=10; 错误,不能在定义处对const成员变量进行初始化 const int size; public: constNum(); }; constN
快速删除 jar 里面的 BuildConfig.class 起因:多个 jar 包里面的 BuildConfig.class 文件导致编译冲突. 方法一:土方法 使用 jar 解包 jar xf xx.jar 删除文件 重新打包 jar cf xx.jar 目录 麻烦和容易出错的地方: 解包出来的文件夹名字是不固定的 接报出来的文件夹数量是不固定的 当然可以解压到一个临时文件来做避免这个事情,也可以做得更酷点.看方法二. 方法二:使用 zip -d 直接删除里面的文件 unzip -l fab