Javascript中var和this总结
来源:互联网 发布:淘宝卖情趣用品要求 编辑:程序博客网 时间:2024/05/20 20:43
很多人都觉得在javascript声明一个变量,加var和不加var没有什么区别,实际上是一个错误的观点,如果在函数外面,也就是说在window区域加不加var确实是一样,因为都会是全局变量的效果,而如果在函数内部,加var就是局部变量,不加是全局变量。
function test(){
var1 = 2;
alert(var1);
}
test();
alert(var1);
这样可以显示为2
function test(){
var var1 = 2;
alert(var1);
}
test();
alert(var1);
此时则为变量未定义错误
this多用于函数内部,它永远指向调用他的那个对象,看看下面的例子就明白了
var test={
a:"test",
msg:function(){
a="1234";
alert(this.a);
var msg1= function(){
alert(this.a);
}
msg1();
}
}
test.msg();这样会分别显示 "test" ,"1234"。但this也不是这么简单,在看看下面的例子
function test1()
{
this.var01 = "test";
}
function test2()
{
alert(var01);
}
var a= new test1();
test1();
test2();
alert(a.var01);
都可以得到"test".
可以发现var01变量既是一个全局变量,又是test1内的成员变量。也就是说,如果在函数内部用this定义的变量,如果这个函数你不是直接来运行,而是作为一个类来new的话,虽然函数也要执行一遍,但里面的this定义的变量是作为类的成员变量来定义的,也就是一个局部变量,上面的测试代码,如果去掉test1(); test2()运行就是未定义变量错误了。
说到变量,最后提一下js变量无类型的说法,这个说法本身没有错,但js变量无类型,这话很模糊,有的人会理解成js里面没有数据类型。这显然是错误的,js里面也有数字,字符,布尔,类等数据类型。说变量无类型,指的是刚定义一个变量的时候,这个变量是没有类型的,当你给它赋值的时候,值是什么类型,那这个变量就是什么类型了。
- Javascript中var和this总结
- javascript声明变量var和this的总结
- javascript声明变量var和this的总结
- javascript中var that=this
- javascript中var that=this
- javascript中var that=this
- javascript中var that=this
- JavaScript中 var self=this 的解释
- javaScript 中var self=this 的解释
- 【JavaScript】var that = this
- javascript中this的总结
- javascript中this的总结
- JavaScript中this使用总结
- javascript之var self = this
- Javascript中的var self = this
- JavaScript 中的 var that = this
- JavaScript中this关键字指代总结
- javascript中this关键字---总结2
- HTTP协议状态
- Axure RP Pro 6
- 验房师支招“十大验房细节”
- android多语言设置
- Linux内核I2C子系统驱动(一)
- Javascript中var和this总结
- MFC cstudiofile追加写文件操作
- Linux内核I2C子系统驱动(二)
- 你累不累呢
- Linux内核I2C子系统驱动(三)
- Delphi中常用字符串处理函数
- 如何判断单链表是否存在环
- DBSNMP用户的BSLN_INTERNAL出现ORA-12012和ORA-6502错误的解决方法
- win7 IIS7内置用户设置导致访问页面503错误解决方法