codefordream 关于js中级训练
中级训练接着就紧锣密鼓的开始了。
首先是关于变量,变量的作用是给一个数据值标注名称. 注:JavaScript中变量名,函数名,参数名的命名规范:至少由字母,下划线,美元符号,数字其中的一种组成,但不能以数字开头.变量的定义,如:var num =5。关于变量的引用,我觉得这句话已经说的很形象了——数据本来不具有名称,之所以使用变量,就是为了通过某个名称来称呼这样一种不具有名称的数据. 所谓"引用",可以认为是用变量名来取出其代表的数据值.就像在许许多多的箱子里面通过箱子的名称,找到该箱子里面的内容。变量名如上面的num,就像是一个盒子,它里面装着5这样一个东西,当然,object这样到对象,那里面就像是装了很多盒子,盒子里面又放了值。
接着就是关于代码的运行了,js中的代码是从上到下,从左至右依次运行的,但是有一种情况除外,那便是定义语句。代码在运行的时候,javacript中的定义语句会被提前到所有代码之前执行,不过为了方便还是应该写在调用变量之前。值得一提的是,提前执行的仅仅是定义语句,而关于赋值语句却是没有提前的,例如:
console.log(num); var num =5; console.log(num);
运行这段代码输出的就是:
undefined 5
然后就是关于函数的嵌套,函数到嵌套就是在函数内部还可以声明和调用函数,有点递归的意思,但递归是调用自己,其实递归也很强大的,就像是尼克劳斯·维尔特说的,递归的强大之处在于它允许用户用有限的语句描述无限的对象。因此,在计算机科学中,递归可以被用来描述无限步的运算,尽管描述运算的程序是有限的。一个很简单得阶乘例子:
而函数的嵌套则是在函数内部声明或者调用另外一个函数。
最后讲到的就是作用域了。作用域指的是名称(变量名与函数名)的有效范围。JavaScrpit中有两种作用域:1.全局作用域 2.局部作用域 全局作用域是指在所有函数之外(即最外层代码)的作用域.在所有函数之外进行声明的变量或函数属于全局作用域,全局作用域中的变量就是全局变量,全局作用域中的函数就是全局函数. 局部作用域是指所有在函数的内部进行声明的变量或函数,这些变量(又称局部变量)或函数仅在该函数内部才有效。注意:当一个变量名既是局部变量又是全局变量时,会优先访问局部变量.也就是说,局部变量在其作用域内的优先级高于外层作用域的同名变量。按我的理解就是,离这个变量赋值近一点的就优先,也就是就近原则。
codefordream 关于js中级训练的更多相关文章
- codefordream 关于js初级训练
这里的初级训练相对简单,差不多都是以前知识温习. 比如输出“hello world”,直接使用console.log()就行.注释符号,“//”可以注释单行,快捷键 alt+/,"/* ...
- 我的JS 中级学习篇
在codefordream上进入中级学习后,感觉立马从js的基础学习往前跳了好远,上面的东西好像都是第一次看到一样.这时候才发现,说来也曾接触过js,但是这时候才发现对js的认识就停在知道两点:js中 ...
- Js中级复习
JS中级复习—— 1,this 就是js的关键字 用途:指向某一个对象 如何判断this指向: 函数(方法)内—— 一种以函数的方式调用(不带.)this指向window 一种以方法的形式调用(函 ...
- JS中级 - 02:表单、表格
getElementsByTagName() getElementsByTagName() 方法可返回带有指定标签名的对象的集合. getElementsByClassName() 返回文档中所有指定 ...
- js中级6
1.动画 (1)Css样式提供了运动 过渡属性transition 从一种情况到另一种情况叫过渡 transition:time linear de ...
- 11-22 JS中级复习
1.this js的关键字, 用途:指向某一个对象. 如何判断this指向 函数(方法)内 一种以函数的方式调用(不带.) this指向winodw 一种以方法的形式调用(函数名前面带.)this指向 ...
- js中级小知识5
元素的属性 div.attributes是所有标签属性构成的数据集合 div.classList是所有class名构成的数组集合 在classList的原型链上可以看到add()和remove() 1 ...
- js中级小知识4
1.针对表单 form input select textarea type="radio/checkbox/passdord/button/submit/reset/ ...
- js中级小知识2
1.面向对象 js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差.所以作者就收到java和c的影响,往面向对象靠齐.js天生有一个Objec ...
随机推荐
- 学习angular2
最近在学angular2,并没有很深入,跟着官网做了一份练习,整理了一下,画了一个简单的结构图.
- C#常用类笔记
1. Object类型转化为数组 object[] b = (object[])ArrayList.Adapter((Array)list).ToArray(typeof(object));
- VIPM 发布功能总结
前言 上一篇中,我们分析介绍了LabVIEW自带的安装发布功能,今天总结一下VIPM的发布功能. VIPM 提到LabVIEW,不能不提VI Package Manager (VIPM)这个工具包 ...
- Usaco*Brownie Slicing
Description Bessie烘焙了一块巧克力蛋糕.这块蛋糕是由R*C(1 <= R,C <= 500)个小的巧克力蛋糕组成的. 第i行,第j列的蛋糕有N_ij(1 <= N_ ...
- bootstarp3 支持ie8
http://blog.csdn.net/hyb3280660/article/details/51850832 想要bootstarp3 支持ie8? 引入 <!-- 存放全局css/js - ...
- jquery 购物车飞入效果
github https://github.com/amibug/fly demo https://github.com/amibug/fly
- 在C#中使用消息队列RabbitMQ
1.什么是RabbitMQ.详见 http://www.rabbitmq.com/. 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源的操作,放入队列,再由另外一个线程,去异步处理这 ...
- Node.js 框架
Node.js的是一个JavaScript平台,它允许你建立大型的Web应用程序. Node.js的框架平台使用JavaScript作为它的脚本语言来构建可伸缩的应用. 当涉及到Web应用程序的开发 ...
- SQL Server最近怎样了
SQL Server最近怎样了 又到年终了,大家都作最后冲刺 最近园子里真的多了很多口水帖,无论大家争论得多么激烈,时间依然滴答滴答地过,争论完之后我们依然要继续埋头苦干 为年终奖.为明年做准备 这里 ...
- CYQ.Data+EasyUI开发:几个相关的问题CheckBox、Tree、TreeGrid
前言: 话说到新的公司已经呆了三个星期了,从上班的第二天开始就一直在写项目文档和给开发人员培训,以至于我的QQ签名从"我不是来搞培训的“到最后直接换成”我是来搞培训的“. 虽然挂名开发经理, ...