• 开心菜鸟系列----变量的解读(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>
  • 相关阅读:
    CSS3—— 2D转换 3D转换 过渡 动画
    CSS3——边框 圆角 背景 渐变 文本效果
    CSS3——表单 计数器 网页布局 应用实例
    CSS3——提示工具 图片廓 图像透明 图像拼接技术 媒体类型 属性选择器
    CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
    CSS3——分组和嵌套 尺寸 display显示 position定位 overflow float浮动
    CSS3——盒子模型 border(边框) 轮廓(outline)属性 margin外边距 padding填充
    Eclipse连接数据库报错Local variable passwd defined in an enclosing scope must be final or effectively final
    数据库——单表查询
    数据库——添加,修改,删除
  • 原文地址:https://www.cnblogs.com/kaixincainiao/p/3402381.html
Copyright © 2020-2023  润新知