当前位置:编程学习 > JAVA >>

JavaScript基础篇(二)

基础篇
 javascript:变量的声明
以下是几种声明变量的方式
 var value;
 var value,value1,value2;//同时声明多个变量,但是这些变量的值都是undefined
 var i = 0,j = 0,k=100;//变量声明,初始化一体。
 //如果大家尝试读一个不存在的变量(值)会报错!但是尝试给一个未使用Var声明的变量赋值,javascript
 //会隐式的声明改变量,而且声明了的变量还是全局的。细节:所以大家创建变量都尽量使用Var
 //变量的作用域(这个问题也容易出,大家要搞明白)

 javascript:变量的作用域
 这些都是细节,和我一样初学的一定要注意避免!
 
var golbal = "golbal"; //全局变量
 var local ="local";
function area()
 {
//局部变量的优先级比全局变量的高
var local = "arealocal"
//当函数体内声明的变量名和全局变量名相同时,javascript 会隐藏全局变量
var golbal ="areagolbal";
          
document.write("local is :"+local + "and golbal is :" + golbal +"<br />");
 }
        
area();
//输出:local is :arealocaland golbal is :areagolbal

 在嵌套的函数里面定义局部变量,效果会怎么样呢?看下面:
var hope = "moremoney";
function createmore()
{
var hope = "have more money";//局部
function createmoreto()//嵌套函数
{
var hope = "have more money to much";//局部
document.write("Createmoreto hope is :"+hope +"<br />");
  //输出:Createmoreto hope is :have more money to much
}
 createmoreto();//调用
 document.write("Createmore hope is :" +hope +"<br />");
//输出:Createmore hope is :have more money
}
 createmore(); //调用

javascript:传值和传址
 这里也是比较重要的概念!不要漏了。
                  传值                                           传址
复制     实际复制的值,存在不同的、                  复制的只是对数字的引用。如果通过这个
         独立的拷贝。                               新的引用修改了数值,这个改变对最初的
                                       引用来说也是可见的。

传递     传递给函数的是值的独立拷贝                传递给函数的是对数值的引用,如果函数
         对它的改变在函数外没有影响                通过传递给它的引用修改了数值,这个改
                                      变也是可见的。              

比较     比较这两个对立的值,通常逐                比较的是两个引用,以判断它们引用的是否
         字节的比较,以判断是否相等                是同一个数值。

javascript:基本类型和引用类型
 javascript的基本规则是:基本类型通过传值来操作,引用类型通过传址来操作。(什么事值类型,或者什么事引用看我上一篇http://www.zzzyk.com/kf/201203/125614.html )
 1 按值传递
 2 var value = 1;
 3 var copyvalue = value; //将value赋给另一个变量
 4  function addTotal(total,arg)
 5  {
 6 total+= arg; //total = total + arg 效果等同
 7 }
 8 //调用函数,传两个参数(大家可能会认为这个函数改变了全局变量的值,其实没有,函数用的也是对立拷贝)
 9 addTotal(value,copyvalue);
10 if(value == 1) copyvalue = 2;
11 document.write("total \t" + value + "and copyvalue \t\t" + copyvalue+"<br />");
12 //最后输出:total 1and copyvalue 2

 
 1 按址传递
 2 var array = new Array("Javascccp");
 3 var objarray = array;
 4 function modifyArray(arr)
 5 {
 6 arr[0] = "JAVASCRIPT";
 7 }
 8 //没调用函数前
 9 document.write(array[0] +"<br />");
10 //输出Javascccp;
11 //调用函数后
12 modifyArray(array);
13 document.write(array[0]+"<br />");
14 //输出大写JAVASCRIPT
15 //通过修改objarray会是一样的效果
16 objarray[0] = "Frank";
17 document.write(array[0]+"<br />");
18  //输出Frank;

 
小结:上面内容希望大家都不要错过,对学习后面的知识还是很有帮助的!

 

摘自   ben2012
 
补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,