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>

开心菜鸟系列----变量的解读(javascript入门篇)的更多相关文章

  1. 开心菜鸟系列----函数作用域(javascript入门篇)

      1 <!DOCTYPE html>   2 <html>   3 <script src="./jquery-1.7.2.js"></ ...

  2. JavaScript入门篇 编程练习

    编程挑战 一.定义"改变颜色"的函数 提示: obj.style.color obj.style.backgroundColor 二.定义"改变宽高"的函数 提 ...

  3. 慕课网JavaScript入门篇课程笔记

    1.js注释很重要 单行注释,在注释内容前加符号 “//”. <script type="text/javascript"> document.write(" ...

  4. JavaScript入门篇

    记录一下在慕课网学习JavaScript的过程. 以下内容均来自慕课网. 传送:https://www.imooc.com/code/401 为什么学习JavaScript 1. 所有主流浏览器都支持 ...

  5. sed修炼系列(一):花拳绣腿之入门篇

    本文为花拳绣腿招式入门篇,主要目的是入门,为看懂sed修炼系列(二):武功心法做准备.虽然是入门篇,只介绍了基本工作机制以及一些选项和命令,但其中仍然包括了很多sed的工作机制细节.对比网上各sed相 ...

  6. 全面解读JavaScript入门到进阶,100%基础知识掌握!

    一.JavaScript 简介 1.JavaScript 是 Web 的编程语言,是前端开发必须掌握的三门语言之一,即: HTML   定义了网页的内容 CSS      描述了网页的布局 JavaS ...

  7. JavaScript入门篇QA总结

    Q1:JS可以放在哪个位置?A1:1.放在<head>标签中,用<script type="text/javascript"></script> ...

  8. JavaScript入门篇 第二天(消息对话框+网页弹出)

    提问(prompt 消息对话框) prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息.弹出消息对话框(包含一个确定按钮.取消按钮与一个文本输入框). 语法: prompt(str1, s ...

  9. JavaScript入门篇 第一天

    使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<script>< ...

随机推荐

  1. MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ( ...

  2. 常用的Windows批处理

      切换执行路径 如果不换盘的话:cd xxx换盘:cd /d xxx   获取当前日期 编写Windows批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的. 如何获取日期呢?格式:  ...

  3. 《iPhone高级编程—使用Mono Touch和.NET/C#》

    第1章 C#开发人员基于MonoTouch进行iPhone开发概述 1 1.1 产品对比 2 1.1.1 .NET Framework 2 1.1.2 Mono 2 1.1.3 MonoTouch 3 ...

  4. FreeBsdb FAMP Lamp环境

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1IAAAHlCAIAAABwFFq0AAAgAElEQVR4nO3d23WruhYA0JTmciiGTm

  5. JS监听组合按键

    有些时候,我们需要在网页上,增加一些快捷按键,方便用户使用一些常用的操作,比如:保存,撤销,复制.粘贴等等. 下面简单梳理一下思路: 我们所熟悉的按键有这么集中类型: 单独的按键操作,如:delete ...

  6. eclipse指定启动时的jdk(xjl456852原创)

    在eclipse安装目录中找到eclipse.ini 在第一行配置(即可启动按指定版本的jdk启动eclipse): -vm D:\soft\Java\jre8\bin\server\jvm.dll ...

  7. Laravel-高级篇-Artisan

    (慕课网_轻松学会Laravel-高级篇_天秤vs永恒老师_http://www.imooc.com/learn/702) 一.概述 Artisan是Laravel中自带的命令行工具的名称 由强大的S ...

  8. 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存的扩展(二)

    相对于第一篇来讲,这里讲的是磁盘缓存的延续.在这里我们主要是关注四个类.各自是DiskLruCache.LruDiskCache.StrictLineReader以及工具类Util. 接下来逐一的对它 ...

  9. 网络直播电视之M3U8解析篇 (下)

    在上一篇文章中讲述了网络直播电视的M3U8解析和当中的keyword段.本章我将对我遇见到的不同数据源的M3U8文件进行列举和分析. 第一种:ts片段地址为文件名,下载地址为:http:\\www.X ...

  10. 浅谈管道模型(Pipeline)

    本篇和大家谈谈一种通用的设计与处理模型--Pipeline(管道). Pipeline简单介绍 Pipeline模型最早被使用在Unix操作系统中.据称,假设说Unix是计算机文明中最伟大的发明,那么 ...