JavaScript学习笔记--03
来源:互联网 发布:数控铣床编程小酒杯 编辑:程序博客网 时间:2024/04/29 14:27
JavaScript语法
1.语句
用JavaScript或任何一种其他程序设计语言编写出来的脚本都是一系列指令构成的,这些指令称为语句(statement)。
- 单行注释,“//”或者“<!--”(注意:不需要像html一样用“-->”结尾,还有html允许这样的注释跨越多行,但JavaScript要求每行都以“<!--”作为标志);
- 多行注释,用“/*”和“*/”包起来。
2.变量
- 数据类型(字符串、数值、布尔值)
- 数组(关联数组)
3.操作
- 算术操作
4.条件语句
- if...else
- 比较符操作
- 逻辑符操作
5.循环语句
- while
- do...while
- for
6.函数
- 变量的作用域
在命名变量时,用下划线来分隔各个单词;在命名函数时,从第二个单词开始把每个单词的第一个字母写成大写形式(也就是所谓的Camel 记号)。这么做就能够一眼看出哪些名字是变量、哪些名字是函数。如temp_celsius为变量名,convertToCelsius为函数名。
全局变量(global variable)可以在脚本中的任何位置被引用。一旦在某个脚本里声明了一个全局变量,就可以从这个脚本的任何位置——包括各有关函数的内部——引用它。全局变量的作用域是整个脚本。
局部变量(local variable)只存在于对它做出声明的那个函数的内部,在那个函数的外部是无法引用它的。局部变量的作用域仅限于某个特定的函数。
因此,在函数中既可以使用全局变量,也可以使用整个函数的局部变量。这个细节很有用,但是有时也会导致一些问题。如果在一个函数的内部不小心使用了某个局部变量的名字,即使本意是想使用一个局部变量,JavaScript也会认为是在引用那个全局变量。
解决办法是,用var关键字明确地为在函数中使用的变量设定一个作用域。
如果在某个函数中使用了var,那个变量就将被视为一个局部变量,它将只存在于这个函数的上下文中;反之,如果没有使用var,那个变量就将被视为一个局部变量,如果脚本里已经存在一个与之同名的变量,这个函数将覆盖那个现有的变量的值。
举个栗子:
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" > function square(num){ total=num*num;//局部变量 return total; } var total=50;//全局变量 var number=square(20); alert(total);//要显示全局变量 </script></head><body></body></html>以上代码将不可避免地导致全局变量total的值发生变化。
全局变量total的值变成了400。而本意是想让square()函数只把计算出来的平方值返回给变量number,但因为未在这个函数里用var关键字把内部的total变量明
确地声明为局部变量,这个函数把名字同样是total的那个全局变量的值也给改变了。
为实现本意,应将这个函数写成如下所示才是正确的:
function square(num){ var total=num*num; return total;}这样,全局变量total变得安全了,再怎么调用square()函数也不会影响到它。
运行结果如下:
总结:函数在行为方面应该就像一个自我包容的脚本,而这意味着在定义一个函数时,必须把它的内部的变量全都明确地声明为局部变量。不要忘记在函数里使用var关键字,这样能避免任何形式的二义性隐患。
7.对象
对象是一种非常重要的数据类型,是自我包含的数组集合,包含在对象里的数据可以通过两种形式——即属性(property)和方法(method)访问:对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。
- 属性是隶属于某个特定对象的变量;
- 方法是只有某个特定对象才能调用的函数。
- 内建对象
- 宿主对象
参考文献:JavaScript DOM 编程艺术,Jeremy Keith 著
- JavaScript学习笔记03
- JavaScript学习笔记--03
- JavaScript学习笔记--03
- 03 JavaScript的学习笔记
- javascript cookie学习笔记javascript
- 【学习笔记】JavaScript(2013-10-03)
- JavaScript学习笔记-03函数调用方式
- javascript学习笔记
- Javascript学习笔记
- JavaScript学习笔记1
- JavaScript学习笔记2
- JavaScript学习笔记3
- JavaScript学习笔记4
- JavaScript学习笔记5
- JavaScript学习笔记6
- JavaScript学习笔记7
- JavaScript 学习笔记 1
- JavaScript 学习笔记 2
- java 二叉树(六)查找二叉树一个节点的双亲节点
- 无废话WCF入门教程二[WCF应用的通信过程]
- 统计学习方法——CART, Bagging, Random Forest, Boosting
- matplotlib中文显示问题
- iOS常见枚举类型
- JavaScript学习笔记--03
- [高斯消元 线性基 二进制拆分] BZOJ 2844 albus就是要第一个出场
- 数学规律题,数论知识:hdu1792
- iOS开发工具----Cocoapods的安装与使用
- dos 运行php文件丢失拓展模块
- JDBC连接数据库
- Mysql 主从架构之-安装与配置
- JS将EXCEL文件导入前端第一行未出现或者出现F1F2F3的解决方法……
- Mesos+Docker+Marathon环境搭建教程