JavaScript基础巩固----1 变量

编者注:JavaScript的很多语法规则与我们常用的语言(Java,C++等)类似,所以我在文章中只提出一些我们容易忽略、或者跟类C语言混淆的地方。

1.JavaScript的变量分为 基础变量 和 引用变量,这一点和我们熟悉的java,c等类似,但是不同的是他只有**Undefined、Number、NULL、Boolean、String** 5种基础类型。用**typeof操作符**可以判断一个变量的类型,eg:
if(typeof object.name == 'string') {
    alert("string");
}
2.变量作用域   
js的变量作用域基本与java等类似,有全局和局部之分,函数体中有局部作用域的!但是值得注意的是**没有块作用域** 
if (true) {
    var title = "csdn";
}
alert(title);//会弹出 csdn 字样

还有一点是 在函数内部重写参数变量,此变量就引用了一个局部变量:
function setName(obj){
    obj.name = "Nike";
    obj = new Object();
    obj.name = "Lining";
}
var person = new Object();
setName(person);
alert(person.name); //还是 Nike 
3.内存管理机制
JavaScript也有自己的垃圾回收机制,一搬情况下并不需要我们自己管理内存,但是由于操作系统给浏览器分配的内存有限所以 我们需要控制好变量的内存释放。一个方法是:一但全局变量中有变量不再使用,可将其赋值为null;另外一个是:避免循环引用,如:
var element = document.getElementById("table");
var myObject  = new Object;
myObject.element = element;
element.anotherObject = myObject;


你可能感兴趣的:(JavaScript)