可以在浏览器的URL中输入javascript: expression来运行JavaScript表达式"expression"。
变量的声明以var开始, 如果省略var,那么作为全局变量创建。变量的作用域与Java中的一致。 JavaScript中, 函数是可以嵌套声明的:如
var
scope
=
"
global scope
"
;
function checkScope()
... {
var scope = "local scope";
function nested()
...{
var scope = "nested scope";
document.write(scope);
}
nested();
}
checkScope();
function checkScope()
... {
var scope = "local scope";
function nested()
...{
var scope = "nested scope";
document.write(scope);
}
nested();
}
checkScope();
在JavaScript中,没有块级作用域,一个变量在函数中声明,则在函数中的任何点可见,这可能产生惊人的后果:
var scope = "global";
function
checkScope()
... {
alert(scope);
var scope = "local";
alert(scope);
}
checkScope();
... {
alert(scope);
var scope = "local";
alert(scope);
}
checkScope();
在上面的代码中,第一个alert()输出"undefined", 第二个输出"local"。
JavaScript中的数据类型分为两组:数值型,布尔型,字符串,null与undefined为基本类型;对象,数组与函数属于引用类型。概念基本上与Java与C#中的相同,也有垃圾回收的机制。
所有的全局变量都属于一个叫全局对象的对象:), 可以在顶层代码中通过this引用它(所谓顶层代码指不属于函数的代码)。
局部变量也是作为一个对象的属性存储的,这个对象叫做“调用对象”, 在执行一上函数时,函数的参数和局变量做为一个调用对象的属性而储存。