javascript声明变量var和this的总结
来源:互联网 发布:公安数据恢复 编辑:程序博客网 时间:2024/06/05 04:19
很多人都觉得在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的区别
- JavaScript中变量声明有var和没var的区别
- JavaScript中声明变量时 带var和不带var的区别
- JavaScript中变量声明有var和没var的区别示例介绍
- Javascript中var和this总结
- javascript var声明变量与不声明的区别
- Javascript变量声明:var语句
- javascript var声明变量提升
- JavaScript var声明变量和直接用标识符初始化的细节
- javascript中必须使用var声明局部变量的情况
- 为什么JavaScript声明变量的时候鼓励加var关键字
- var与Javascript变量隐式声明
- JavaScript中声明变量有无var
- Javascript- 声明变量时用"var"与不用"var"的区别
- JavaScript_var和不用var声明变量的区别
- JS中用var声明变量和不用的区别
- jQuery基本选择器 (实例及表单域 value 的获取)
- 格雷码生成算法分析及实现(C/OC)
- WPF DataGrid 常用属性
- lvm分析之简介
- storm开发总结【一】
- javascript声明变量var和this的总结
- 回归windows xp
- shell脚本超时控制
- 语音编码分类及编解码标准
- 正则表达式使用小结 转帖
- 黑马程序员--正则表达式
- 我也想有这种生活节奏!!!
- socket 实现点到点聊天功能
- Lua 语言 15 分钟快速入门