• 开心菜鸟系列----变量的解读(javascript入门篇)


     1 <html>
     2     <body>
     3         <input type="" name=""/>
     4     </body>
     5     <script>
     6         /***
     7          * @type 开心菜鸟系列----变量的解读(javascript入门篇)
     8          * @introduce {string}   var玩法和全局变量和局部变量的玩法,如果感兴趣的就把代码复制一下。
     9          * @author {string} 开心菜鸟
    10          */
    11         var weiwu = '20';
    12         console.info(this.weiwu);
    13         console.info(window['weiwu'])
    14         console.info(window.weiwu)
    15         console.info(weiwu)
    16         //他们都是相等的. 20
    17         //总结:this在没有特意指定时候,永远指向咱们最牛叉的window,在这里如果有学过node.js的不要弄混了,因为node.js的老大是global
    18         console.info('--------继续往下看啊,来个更好玩的。---------')
    19 //        var  name = 'sssss'; //@1把他注释取消掉和注释上,大家体验一下吧
    20         console.info(name);
    21         //总结:name,你妹,我曾经差点因为他死在js上,差一点疯掉,想要推翻自己的理论,
    22         // 但是当我看了window的全局变量后,知道了,为什么会这样,因为他已经预先的声明了。
    23 
    24         console.info(age);
    25         //@2怪异啊,呵呵,我发现他的前面给个var,就会不报错啊,如果没有给var的话,就会报错啊。
    26         var age = 30;
    27         //总结:首先这个东西其实很好理解,但是前提你要了解一件事,就是undefined和未声明变量的区别,
    28         // undefined是这个变量已经声明了,但是并没有赋予值,而你报未找到这个变量,那就是未声明变量。
    29         //但是有的人又问了为什么console.inf(age)下面才声明的var var age = 30;他会返回undefined的呢。下面给大家解释。
    30         console.info('--------继续往下看啊,来个更好玩的。---------')
    31 //        var test = 20 ;
    32         function test() {
    33             return 'this is kaixin function ';
    34         }
    35         //下面会输出什么啊
    36         console.info(javascript变量重新学习);   //下面调用函数,这里就当做函数,如果把下面的注释了这里就是变量
    37         console.info(javascript变量重新学习()); //我居然是函数啊
    38         //总结:证明test的变量和test函数都声明了,只是根据你使用的方式去调用相应的声明规则。
    39         //这个知识点,大家要知道:
    40             //1.  当javascript被载入的时候,首先是需要检查一下语法是否正确,
    41             //2.  去把页面上所有的var function 这两个先声明了,不管是否在{内部},至于为什么下一节会提到.
    42             //3.  然后才进行编译,当然原理我并不知道。
    43         console.info('--------继续往下看啊,来个更好玩的。---------')
    44         if (false)
    45         {
    46             var blockName = '20';   //偶的妈吖,你要干什么啊.不解,不懂.嘻嘻
    47         }
    48         console.info(blockName)   //输出的结果是对的啊.
    49         //总结:你妹的,我已经声明了,你就是不给我赋值呗,
    50         //说一下,为什么会出现这种情况啊,这个可能就和作用域有关了,
    51         //其实很简单,在javascript中,凡是被if for{}(块级)包过的他们并不会影响函数声明和变量的声明,
    52         // 其实他们并没有作用域啊,今天我们只讲全局变量和局部变量.
    53         console.info('--------继续往下看啊,来个更好玩的。---------')
    54         var heihei = 20;
    55         nimei = 30 ;
    56         delete heihei;
    57         delete nimei;
    58         console.info(heihei);       //偶才是真的不死小强
    59 //        console.info(nimei);        //你咋报错了呢,完蛋死了.
    60         //真假小强,我现在发现了好多人并不注意一件事,就是var这东西,他是干毛的,下面演示,不急啊.
    61         var Fscope = 'heihei';
    62         function kaixin()
    63         {
    64             console.info(Fscope);       //如果没有局部变量heihei,下面开始声明喽:undefined
    65             var Fscope = 'localvariable'
    66             console.info(Fscope);
    67         }
    68         kaixin();
    69         //总结:
    70             //这个才是今天的重点,首先呢,我并不赞成写全局变量,这个以后会讲到
    71             //还有全局变量和局部变量相互污染了,你们懂的,命名是多大的一个学问,英文不好的,小心了.
    72             //在function 内部里如果用var声明,就是局部变量,其实作用域并不同了,其实我并不想叫他为局部变量,
    73             //因为如果我说是作用域不同的话,后面大家可以会更好的理解作用域了.
    74             //在function 中没有用var声明的变量话是全局的变量,在此声明一下,如果你代码的时候,声明变量全都用var
    75             //同值的时候才是不带的,
    76             //解释一下delete啦,其实没有用var声明的变量全是假招子
    77             //(1)通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
    78             //(2)无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
    79             //至此全局变量和局部变量开心是学完了,肯定还有别的,但是不在这做讲解,咱们下一章在聊啊.
    80             //感谢你们和开心一起复习了一下js的基础部分,我希望大家能重视起来这章,因为很重要,声明(php不用var声明类属性了)node也要用var声明.
    81     </script>
    82 </html>
  • 相关阅读:
    完全卸载 Oracle
    Windows 下 Oracle 10g 手工创建数据库
    zip & unzip 命令
    J2EE的13种核心技术规范
    Windows 8发行预览版序列号
    wget百度百科
    Application's Life Cycle
    当前网络存在的安全问题
    Ubuntu 11.10 更换 LightDM 开机登录画面
    tmp文件夹的默认权限
  • 原文地址:https://www.cnblogs.com/kaixincainiao/p/3402381.html
Copyright © 2020-2023  润新知