常熟人家blog头像

javascript对象_函数变量运算关系_函数变量的作用域

时间:15-12-17 栏目:javascript 楼主:鲁智深 评论:0 点击: 2,187 次

一、对象

数组我们用[],对象我们用{}

创建对象:

var obj = {属性名:属性值1,属性名:属性值2,属性名:属性值3};

1
var obj = {"name":"zhansan","age":22,"sex":'male'};

对象单元值的引用

对象名.属性名

1
obj.name//使用方法

对象名[属性名]

1
obj.['name']//这是类似数组的使用方法,不建议这么使用

对象如何遍历,遍历对象不能用obj.key

1
2
3
for(key in obj){
alert(obj[key]);//不能写成obj.key
}

对象单元的删除

delete 对象名.属性名

1
delete obj.name;

对象单元的添加

对象名.新属性名 = 新属性值

1
obj.height = 170;

js中对象是变量集合,又因为函数也是一种变量,那么当对象变量是函数的时候,也符合对象的定义。

对象单元的值,我们可以通过重新赋值来改变如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
         var obj = {"name":"zhansan","age":22,"sex":'male'};
         //alert(obj.name);
         //alert(obj['name']);
         
         //删除属性
         delete obj.age;
         
         //遍历对象
         for(key in obj){
             alert(obj[key]);
         }
     */
         //当对象变量是函数的时候
         function talk(){
             alert(this.name);
         }
         //talk();调用方法
         //talk2 = talk;方法当成变量赋值
         //talk2();
         var zhangsan = {"name":"鲁智深","age":23,"sex":"male","speak":12};
         var lisi = {"name":"李四","age":33,"sex":"female","speak":null};
         zhangsan.speak = talk;
         zhangsan.speak();
         
         //让speak说出自己的名字
         lisi.speak = talk;
         lisi.speak();
         
         lisi.hieght = '177CM';//添加对象属性
         for(key in lisi){
             alert(lisi[key]);
         }

所以,我们把方法的变量赋值给属性的时候,这个属性就是方法了

二、函数:变量的运算关系

在程序中,函数是一段封装的代码段,能够完成某个特定功能!

函数的使用:

1、必须有声明

2、用函数名调用

3、可以存在参数,参与函数内部的运算,可以扩展函数功能

4、返回值:函数可以有0个或者一个返回值,在return语句后面的语句终止执行

1
2
3
4
5
6
7
8
9
10
11
12
13
   <p id="pid"></p>
   <script>
        function demo(a,b){
              if(a>b){
                    return "a比较大";
                  }else{
                    return "b比较大";
                  }
            }
         var v1 = demo(100,20);
         alert(v1);
         document.getElementById("pid").innerHTML=v1;//把赋值后变量v1替换p标签里面的内容
   </script>

声明:

function 函数名([arg1],[arg2].....){

函数体;

}

函数名 = function([arg1],[arg2].....){

函数体;

}

调用:函数名();

2种调用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <!---第一种-->
    <script>
        function tell(){
                   var n = 10;
                   var m = 10;
                   var vl = n*m;
                   alert(vl);
                 }
                 tell();
    </script>
    <!---第二种-->
    <form>
       <input type="button" value="按钮" onclick="tell()" />
    </form>
    <button onclick="tell()">按钮</button>

案例一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
         function sum(){
             var sum = 0;
             for(var i=1;i<=100;i++){
                 sum+=i;
             }
             alert(sum);
         }
         
         //调用函数
         //sum();
         
         //需求,给出一个区间值,要求出这个区间内的所有整数的和50-100
         function sum2(a,b){
             var sum = 0;
             for(var i=a;i<=b;i++){
                 sum+=i;
             }
             alert(sum);
         }
         sum2(111,1000);
         
         //函数声明方法2
         var sum3 = function(a,b){
             var sum = 0;
             for(var i=a;i<=b;i++){
                 sum+=i;
             }
             alert(sum);
         }
         sum3(111,1000);
         
         //return会结束函数的执行
         var sum3 = function(a,b){
             var sum = 0;
             for(var i=a;i<=b;i++){
                 sum+=i;
             }
             alert(1);
             return sum;
             alert(2);
         }
         alert(sum3(111,1000));

案例二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    <script type="text/javascript">
        var a1 = 10;
        var a2 = 20;
        var sum = a1+a2;
        document.write(sum);
    </script>
   
    <script>
        function demo(a,b){
               var sum = a+b;
               return sum;
            }
         var v1 = demo(30,10);
         alert(v1);
    </script>
   
    <script>
         function demo(){
               var a = 10;
               var b = 10;
               var sum = a+b;
               alert(sum);
             }
         function tell(){
               var n = 10;
               var m = 10;
               var vl = n*m;
               alert(vl);
             }
             demo();
             tell();
    </script>

三、函数变量的作用域

1、定义变量一定要加上var

2、函数内部可以用到外部的变量,外部不能使用内部变量

3、如果函数内部不加var,就会操作到外面的变量,造成污染

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
     <script type="text/javascript">
         var c =7;
     </script>
     
     <script type="text/javascript">
         var a = 3;
         var b = 4;
         var c = 7;
         function t(){
             var a = 5;
             var c = 6;
             alert(a+"^^^"+b);//5^^^4
             
             function s(){
                 alert(c);//6函数体里面没有到外层找
             }
             s();
         }
         t();
     </script>
     
     <script type="text/javascript">
         var n = 3;
         var m = 4;
         function s(){
             n = 1;//如果函数内部不加var,就会操作到外面的变量,造成污染
             var m = 2;
             alert(n);
         }
         s();
         alert(n);
     </script>

收藏本页

    声明:  如有关于wordpress代码问题请留言即可...!

------====== 本页公告 ======------
   建站程序也叫开源程序,建站程序都是免费的,现在国内比较流行的建站程序有个人博客(wordpress,zblog),门户(dedecms),商城(shopex),论坛(discuz!)本博就是用wordpress作为基础搭建起来的网站。