zoukankan      html  css  js  c++  java
  • JavaScript--变量作用域

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>Title</title>
      6 </head>
      7 <body>
      8 <button>按钮1</button>
      9 <button>按钮2</button>
     10 <button>按钮3</button>
     11 </body>
     12 </html>
     13 <script>
     14     /**
     15      *      《函数》
     16      *          匿名函数
     17      *              语法格式:function(){}
     18      *                  只写匿名函数在JS报错
     19      *
     20      *          函数创建
     21      *              1.函数的声明
     22      *                  function fn(){
     23      *                  }
     24      *              2.函数表达式
     25      *                  var fn = function(){
     26      *                  }
     27      *
     28      *           函数命名建议:
     29      *              动词+名词
     30      *
     31      *           函数参数:
     32      *              和PHP一样,分为形参和实参
     33      *
     34      *           函数返回值:
     35      *              关键词:return
     36      *              !与PHP区别:JS函数内部都有返回值,默认返回undefined
     37      *
     38      *           arguments对象 (实参在函数体内的集合)
     39      *              所有函数都内置了一个arguments对象,是一个伪数组.
     40      *
     41      *           自调用函数
     42      *              (function(){})();
     43      *              ;(function(){})();      严谨写法
     44      *                  自调用函数相当于是沙箱,小闭包,内部创建的变量,函数和外部不受关联。
     45      *                  作用:防止全局变量污染。
     46      *
     47      */
     48 
     49     // 全局变量,在<script> 顶级创建的变量是全局变量
     50 /*  var data = "CCTV";
     51     ;(function () {
     52         alert(data); // "CCTV"
     53     })();
     54     ;(function () {
     55         alert(data); // "CCTV"
     56     })();
     57     alert(data); // "CCTV"*/
     58 
     59 
     60 
     61     /*var data = "CCTV";
     62     ;(function () {
     63         var data = "湖南卫视";
     64         alert(data); // "湖南卫视"
     65     })();
     66     ;(function () {
     67         alert(data); // "CCTV"
     68     })();
     69     alert(data); // "CCTV"*/
     70 
     71 
     72 
     73    /* var data = "CCTV";
     74     ;(function () {
     75     //函数体内变量如果没有var声明,它会逐级往上查找,
     76     //如果外面还是没有声明,JS内部会把这个变量设置成全局变量
     77     //!!!! 这是很危险的操作,全局变量污染很容易影响到其他同事的代码
     78         data = "湖南卫视";
     79         alert(data); // "湖南卫视"
     80     })();
     81     ;(function () {
     82     //函数体内变量如果没有var声明,他会逐级往上查找
     83         data = "广东卫视";
     84         alert(data); // "广东卫视"
     85     })();
     86     alert(data); // "广东卫视"*/
     87 
     88 
     89 
     90    /*//变量作用域-事件1
     91     var btns = document.getElementsByTagName('button');
     92     btns[0].onclick = function () {
     93         var tv = "湖南卫视";
     94     }
     95     alert(tv); // tv is not defined*/
     96 
     97 
     98    /* //变量作用域-事件2
     99     var btns = document.getElementsByTagName('button');
    100     btns[0].onclick = function () {
    101         // 事件处理程序内的函数,如果不触发,永远不执行
    102         tv = "湖南卫视";
    103     }
    104     alert(tv); // tv is not defined*/
    105 
    106 
    107   /*  //变量作用域-事件3
    108     var btns = document.getElementsByTagName('button');
    109     btns[0].onclick = function () {
    110         // 事件处理程序内的函数,如果不触发,永远不执行
    111         tv = "湖南卫视"; // 这样会污染全局变量,不推荐使用
    112     }
    113     btns[1].onclick = function () {
    114         alert(tv); // 事件是触发才执行,这里要分情况
    115 //        1,先点击按钮1,再点击按钮2,弹出湖南卫视
    116 //        2,先点击按钮2,不点击按钮1,控制台报错:dv is not defined
    117     }*/
    118 
    119   
    120    /* //变量作用域-事件3
    121     var btns = document.getElementsByTagName('button');
    122     var tv; //定义变量tv
    123     btns[0].onclick = function () {
    124         // 事件处理程序内的函数,如果不触发,永远不执行
    125         tv = "湖南卫视"; // 这样会污染全局变量,不推荐使用
    126     }
    127     btns[1].onclick = function () {
    128         alert(tv); // 事件是触发才执行,这里要分情况
    129 //        1,先点击按钮1,再点击按钮2,弹出湖南卫视
    130 //        2,先点击按钮2,不点击按钮1,弹出undefined
    131     }*/
    132 </script>
  • 相关阅读:
    oracle对中文的排序
    sql语句分页
    一些简单的PGSQL 操作
    angularJSngSelect
    angular+ionic返回上一页并刷新
    C语言博客作业02循环结构
    c语言第一次作业顺序、分支结构
    C语言博客作业03函数
    C语言博客作业02循环结构
    第零次作业
  • 原文地址:https://www.cnblogs.com/mrszhou/p/7665831.html
Copyright © 2011-2022 走看看