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 ...
随机推荐
- Torch Problems: require some packages doesn't work
I've recently got a problem. require 'cutorch' doesn't work. But it was ok yesterday, although I hav ...
- 【转】关于FLASH中图文混排聊天框的小结
原文链接 图文混排也是FLASH里一个很古老的话题了,我们不像美国佬那样游戏里面聊天框就是聊天框,全是文字干干净净,也不像日本人发明了并且频繁地使用颜文字.不管是做论坛.做游戏,必定要实现的一点就是带 ...
- 2014 summer training总结篇
还有一周暑期集训就要结束了,从7月份结束军训到现在一个多月的时间,收获也是有的只不过与之前预想的相比显得十分微薄. 无论是前两天的两场个人赛还是之前的组队赛自己始终是在ranklist的后半部分.一开 ...
- Python之路Day21-自定义分页和cookie
本节知识点概要 1.URL 2.views - 请求其他信息 - 装饰器 3.Templates - 母版 - 自定义 4.Models操作 5.分页(自定义分页) 6.cookie 7.sessio ...
- tornado web 框架的认识
tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...
- Java json串生成及转bean
package com; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import j ...
- JS 的事件委托机制
以前写上图所示的鼠标点击触发事件,一般都是用如下所示的给每一个表示列表的标签绑定一个click事件(演示用的例子的框架是React): 毫无疑问,这样是比较繁琐的,以后维护修改改个函数名什么的还不方便 ...
- hadoop分布式存储(2)-hadoop的安装(毕业设计)
总共分三步:1.准备linux环境 租用"云主机",阿里云,unitedStack等,云主机不受本机性能影响(或者直接安转linux操作系统或者虚拟机也行): PuTTy Conf ...
- tomcat:域名指向项目名
把项目部署到tomcat目录webapps后,使用域名访问的时候域名后面需要加上项目名称,如果想直接输入域名就可以访问项目呢?看了下tomcat官方文档,我修改了tomcat安装目录下conf/ser ...
- advstringgrid笔记
一下操作是在advstringgrid7.4.6.3版本下有效,advstringgrid控件名设置为 zy 一.属性设置 1.修改单元格内的值:zy.cells[col,row]='value'; ...