javascript变量问题

CMAScript变量包含两种不同数据类型的值:
基本类型值:简单的数据段;引用类型值:可能有多个值构成的对象。
5种基本类型:Undefined,Null,Bollean,Number,String;
基本类型是按值访问的,因为可以操作保存在变量中额实际的值;
引用类型:引用类型是保存在内存中的对象,js中不能直接访问内存中的位置,操作的对象,实际上是在操作对象的引用,为对象添加属性时,操作的是实际的对象;
动态属性
基本类型不能添加属性和方法;引用类型可以添加属性和方法;
复制变量值
 基本类型复制:相当于重新重新创建一个新值,这两个变量可以参加任何操作互不影响
      var num1 = 5;
      var num2 = num1;
      alert(num2);
引用类型复制:复制的是一个指针,指向堆中的一个对象,复制结束后,两个指针都指向同一个对象,改变其中一个变量,另一个变量也会改变   
      var obj1 = new Object();
      var obj2 = obj1;
      obj1.name = "xiaoming";
      alert(obj2.name)
传递参数
基本类型按基本类型复制传递(被传递的值会被复制给局部变量,就是arguments对象中的一个元素),
function addTen(num){
         num += 10;
         return num;
      }
      var count =20;
      var result = addTen(count);
      alert(count)
      alert(result)
引用类型按引用类型复制传递(把内存中的地址复制给局部变量)
 function setName(obj){
        obj.name = "xiaoming";
        obj = new Object(); //当在函数内部重写obj时,这个变量的引用就是一个局         部对象了;局部对象在函数执行完毕后会立即销毁;
        obj.name = "G"
      }
      var person = new Object();
      setName(person);
      alert(person.name)
 检测类型
typeof 操作符是确定一个变量是字符串,数字,布尔值,还是undefined,如果变量的值是一个对象或null,则typeof会返回object;
instanceof检测引用类型是一个什么类型的对象;
如果变量是给定的引用类型的实例,那个instanceof操作符就会返回true;如果是基本类型会返回false;
所有引用类型的值都是Object的实例
执行环境与作用域
  延长作用域链
     两种方法:try-catch语句中的catch块;with语句;  
               
使用 try…catch…finally 执行例外处理
  在JavaScript中,我们使用try…catch…finally语句来执行例外处理,即通过它来捕捉错误发生后导致的例外或者执行throw语句产生的例外。它的基本语法如下:
 try {

  // 此处是可能产生例外的语句

  } catch(error) {

  // 此处是负责例外处理的语句

  } finally {

  // 此处是出口语句
  }
3)举例  
<script language="javascript">  
<!--  
function Lakers() {  
       this.name = "kobe bryant";  
       this.age = "28";  
       this.gender = "boy";  
}  
var people=new Lakers();  
with(people)  
{  
       var str = "姓名: " + name + "<br>";  
       str += "年龄:" + age + "<br>";  
       str += "性别:" + gender;  
       document.write(str);  
}  
//-->  
</script>  
  没有块级作用域
if,for,while,语句中声明的变量会将变量添加到当前的执行环境
  for(var i = 0;i<10;i++){
           var a=1
       }
       alert(a);
1.使用var声明的变量会自动添加到 最接近的环境中
2.查询标识符:从作用域链的前端开始,向上逐级查询直到找到需要的标识符(变量)
 
 
 
 
 
 
 
 
 
 
 
 
上一篇:IIS Express start introduction and applicationHost modification


下一篇:android webview 介绍