百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> javascript学习笔记之对象函数变量作用域
分享文章到:

javascript学习笔记之对象函数变量作用域

发布时间:01/15 来源: 浏览: 关键词:
在js的学习中我们最常用的就是对象,函数,数组,变量及表达试了,在这篇文章中我们来为各位整理一下关于对象函数变量作用域学习及示例。

一、对象

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

创建对象:

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

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

对象单元值的引用

对象名.属性名

obj.name//使用方法

对象名[属性名]

obj.['name']//这是类似数组的使用方法,不建议这么使用
对象如何遍历,遍历对象不能用obj.key

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

对象单元的删除

delete 对象名.属性名

delete obj.name;

对象单元的添加

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

obj.height = 170;

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

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

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语句后面的语句终止执行

<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种调用方法

<!---第一种-->
    <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>

案例一:

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));

案例二:

<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,就会操作到外面的变量,造成污染
<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>

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有16人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板