开心菜鸟系列----变量的解读(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>
开心菜鸟系列----变量的解读(javascript入门篇)的更多相关文章
- 开心菜鸟系列----函数作用域(javascript入门篇)
1 <!DOCTYPE html> 2 <html> 3 <script src="./jquery-1.7.2.js"></ ...
- JavaScript入门篇 编程练习
编程挑战 一.定义"改变颜色"的函数 提示: obj.style.color obj.style.backgroundColor 二.定义"改变宽高"的函数 提 ...
- 慕课网JavaScript入门篇课程笔记
1.js注释很重要 单行注释,在注释内容前加符号 “//”. <script type="text/javascript"> document.write(" ...
- JavaScript入门篇
记录一下在慕课网学习JavaScript的过程. 以下内容均来自慕课网. 传送:https://www.imooc.com/code/401 为什么学习JavaScript 1. 所有主流浏览器都支持 ...
- sed修炼系列(一):花拳绣腿之入门篇
本文为花拳绣腿招式入门篇,主要目的是入门,为看懂sed修炼系列(二):武功心法做准备.虽然是入门篇,只介绍了基本工作机制以及一些选项和命令,但其中仍然包括了很多sed的工作机制细节.对比网上各sed相 ...
- 全面解读JavaScript入门到进阶,100%基础知识掌握!
一.JavaScript 简介 1.JavaScript 是 Web 的编程语言,是前端开发必须掌握的三门语言之一,即: HTML 定义了网页的内容 CSS 描述了网页的布局 JavaS ...
- JavaScript入门篇QA总结
Q1:JS可以放在哪个位置?A1:1.放在<head>标签中,用<script type="text/javascript"></script> ...
- JavaScript入门篇 第二天(消息对话框+网页弹出)
提问(prompt 消息对话框) prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息.弹出消息对话框(包含一个确定按钮.取消按钮与一个文本输入框). 语法: prompt(str1, s ...
- JavaScript入门篇 第一天
使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<script>< ...
随机推荐
- KEIL UV3中光标不对齐解决
Keil uVision3与uV2相比增加了对更多型号单片机的支持,另外还对一些的方面进行了优化.不过它却优化出一个让人头疼的问题,那就是光标位置显示不正确!这一问题给程序的编写带来了许多不便.不过不 ...
- HTTP 504 错误
5xx(服务器错误)这些状态代码表示,服务器在尝试处理请求时发生内部错误.这些错误可能是服务器本身的错误,而不是请求出错. 504(网关超时) 服务器作为网关或代理,未及时从上游服务器接收请求. 50 ...
- MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE
MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE So you want to mount your HFS+ ( ...
- cocos2dx-lua绑定自定义c++类(二)
在 cocos2dx-lua绑定自定义c++类(一)中介绍了如何产生绑定文件. 现在,来看看怎么在工程里使用这个cpp文件.像普通源码文件一样,导入到工程里,看到 LuaTest.h文件里有一个函数入 ...
- thinkphp分页时修改last显示标题
需要修改Page.class.php里lastSuffix为false,这样才能修改last显示标题. 然后就可以设置了 或者直接在方法中声明: $p->lastSuffix = false; ...
- Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询
HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了 ...
- Android之Intent
前言:大家都知道Android程序的实现一般都由四大组件构成: Activity :Android程序实现功能的主体,提供了和客户交互的界面,也提供了和后台交互的功能. Service :是一个没有界 ...
- [Cycle.js] Main function and effects functions
We need to give structure to our application with logic and effects. This lessons shows how we can o ...
- Android实现左右滑动效果
本示例演示在Android中实现图片左右滑动效果. 关于滑动效果,在Android中用得比较多,本示例实现的滑动效果是使用ViewFlipper来实现的,当然也可以使用其它的View来实现.接下来 ...
- Javascript高级程序设计读书笔记(第三章)
第3章 基本概念 3.4 数据类型 5种简单数据类型:undefined.boolean.number.null.string. typeof操作符,能返回下列某个字符串:“undefined”.“b ...