看一个例子 $('#conten').click(function(){ //this是被点击的#conten var that =this; $('.conten').each(function(){ //this是.conten循环中当前的对象 //that仍是刚才被点击我的#conten }) }) this对象在程序中随时会改变,而var  that = this之后,that不会改变,仍然指向之前的this,这样就不会找不到原来的对象 tab.prototype.init = func…
函数内部声明变量的时候,一定要使用var命令.如果不用的话,你实际上声明了一个全局变量! function f1(){ n=999; } f1(); alert(n); 子函数可以一层一层读取到父元素的变量,反之不行.但假如我们需要得到函数内的局部变量,正常操作是:在函数的内部再定义一个函数,该函数称之为闭包,通过闭包,向上去读取父函数的局部变量.闭包的作用:读取局部变量:让局部变量的值始终保存在内存中. function f1(){ var n=999; function f2(){//闭包:…
这个具体有什么用我也不大清楚,只知道可以这样 #include <iostream> //#include "header1.h" using namespace std; void testIn(){ int add(int num1,int num); //这里在函数内部声明函数 cout<<add(,)<<endl; //调用声明的函数 } int main(){ testIn(); ; } //在外面实现函数 int add(int num1…
下面这段代码在执行的时候, 打印的结果是1, Error: undefined; function fn() { var x = y = 1; } fn(); console.log(y); // 1; console.log(x); // Error: undefined; 原因是这个函数在执行的时候, 是先执行的: y = 1; 因为这里的y在声明赋值时没有使用var, 因此会默认成为全局变量, 然后将一个全局变量的值赋值给一个局部变量x; 其实际的执行过程如下: var y = 1; fu…
1.函数的重要地位 函数(functions)在JavaScript里有着重要的地位,其原因有二: 它们是一种特殊的对象 它们提供作用域 说函数在JavaScript里是特殊的对象,因为: 程序的执行时期可以动态创建函数对象: 函数对象可以赋给变量,通过变量可以再传递给其它变量,还可以被删除: 函数对象可作为其它函数的形参,也可以作为函数的返回值: 函数对象可以有自己的属性和方法(methods). 例如,(实际编程中完全可以这样做)对于JavaScript的函数A来说,它是个对象:它有自己的属…
2014年4月21日,14:49分: 原创:http://www.cnblogs.com/liujinyu/p/3678523.html 今天写天气网英文版的产品频道,maps页面的js时,偶然意识到一个平常老是用却没有测试的问题,就是在函数内部定义变量加var和不加var的区别,这个区别利用的好,还是很有价值的. 废话不多说上代码:     var liu= 0;     function show(){         liu = 1;  //在定义名称的函数内 没加var的已定义全局变量l…
我们都知道函数中声明变量不用Var时这个变量会成为全局变量,但是并不是函数一开始执行就会把它变为全局变量,必须执行到这条语句. 看一段代码 function f(){    alert(a);    a = 3;}f(); //error: a is not defined 只有函数内部执行到a = 3时,a才会成为全局变量并且等于3,因为这个函数不可能执行到这句语句,所以error: a is not defined 再看一段代码 (function(){ bar(); bar=functio…
JS全局变量VAR和THIS 2011-05-23 21:43 很多人都觉得在JavaScript声明一个变量,加var和不加var没有什么区别,实际上是一个错误的观点,如果在函数外面,也就是说在window区域加不加var确实是一样,因为都会是全局变量的效果,而如果在函数内部,加var就是局部变量,不加是全局变量. function test(){     var1 = 2;   alert(var1);      }   test();   alert(var1); 这样可以显示为2 fun…
1.函数内部,有var声明的是局部变量,没var的,声明的全局变量. 2.在全局作用域内声明变量时,有var 和没var声明的都是全局变量,是window的属性.通过变量var声明全局对象的属性无法通过delete删除,函数声明创建的全局对象属性也无法删除.…
  这段代码说明了在函数中声明没加var关键字的变量时,会出现什么结果.   分两种不同的情况:   1.如果函数内没有同名的局部变量覆盖“无var变量”,那么它就是个全局变量,在函数外部也可以访问到它: 2.如果函数内有同名局部变量覆盖“无var变量”,那么它就会被同名局部变量覆盖了(但此时如果你在我外面调用这个变量,也不会报undefined错误).  …