一般来说,JavaScript的变量可以从作用域的角度分为全局变量和局部变量两种情况。
简单的说,全局变量是指在函数外声明的变量,局部变量则是在函数或者子函数内声明的变量。
变量的数据类型
相对于Pascal、C语言等等,JavaScript没有明确的类型声明过程,在JavaScript约定的保留字列表中,不存在type或者define关键字。总的来说,JavaScript识别6种数据类型,并在运算过程中自动处理语言类型的转换。
1、基本数据类型
6种类型分别为基本数据类型、基础类型或元类型
其中,任何一个变量或值的类型都可以使用typeof运算得到,typeof是JavaScript内部保留的一个关键字,在JavaScript中,typeof关键字可以想函数一样进行调用,在后面跟上一对括号。例如:
// 取变量的类型
var str='this is a test.';
alter(typeof str);
//or
//alter(typeof(str));
// 对直接量取类型值
alter(typeof ’test‘);
typeof运算总是以字符串的形式返回6种基本数据类型值之一。
2.值类型与引用类型
在JavaScript中,“全等于(===)运算符”用来对值类型/引用类型的实际数据进行比较和检查。按照约定,
- 一般表达式运算的结果总是值。
- 函数/方法调用的结果可以返回值或者引用。
- 值与引用、值与值之间即使等值(==),也不一定全等(===)。
- 两个引用之间如果等值(==),则一定全等(===)。