吐槽一下:面对着三月份的疯狂跳槽期,自己总是有点蠢蠢欲动,也没有心思加班了。每天都按时回来,抽出点时间更新博客.
OK!继续聊聊JavaScript的语法,以便做到有始有终。
1、数组
字符串、数值和布尔值都属于离散值。如果某个变量是离散的,它在任意时刻就只能有一个值。如果想用一个变量来存储一组值,就需要用到数组。
那么什么是数组呢?数组是由名字相同的多个值构成的一个集合,集合中的每个值都是这个数组的元素。在JavaScript脚本中,数组要用关键字Array来声明的,在声明数组的同时,程序员还可以对这个数组的元素个数(也就是数组的长度),做出规定,如:
var Twins=Array(3); //即 声明一个长度为四的数组
注意:数组是从0开始进行排列[即下标从0开始]。如上面数组为:Twins[0]、Twins[1]、Twins[2]
如果进行Twins[3]取得,则会报错。
如果我们不能指定数组的具体长度怎么办?没关系!JS并不要求在声明数组时必须给出元素的个数,如果我们声明数组时,不能明确的给出具体的元素个数时,我们可以这样定义:
var Twins=Array();
我们可以向数组中填充元素,如下:
Twins[0]="James";
Twins[1]="Wade";
Twins[2]="Bosh";
Twins[3]="Alan";
....... //可以随便添加元素个数...
突然感觉数组好强大啊,可以一直添加,可是这样写好累啊,有没有相对简单的方法呢?有!如下:
var Twins=Array("James","Wade","Bosh","Allen"); // 注意,逗号虽小,可不要忘记哦
这样的数组还不够简单?想再简单点?没问题,咱把声明数组也给省了吧,如下:
var Twins=["Kobe","KG","Yao","Yi",2014,true]; //简单吧,但不建议这样写。因为要养成良好的编程习惯哦。
问:上面的数组究竟是对是错呢?数组可以把另一个数组作为一个元素存储吗?
那么如何遍历出数组的所有值呢?
<script type="text/JavaScript"> var Temp=Array("James","Wade","Bosh"); var _str; for(var i=0;i<Temp.Length;i++) { _str="Hello, I am "+Temp[i]; } </script>
还存在这样的一种数组[即,关联数组],用上面的方法可不可遍历出来呢?如下:
var Temp=Array();
Temp["UserName"]="James";
Temp["PassWord"]="123456";
Temp["Age"]=29;
2.操作
稍微有一点计算机基础,都知道语言都有=、+、-、*、/ 、<、>等等操作.这些玩过计算器的人都应该会一二。以下便讲解一些,计算器不会的。
记住:小学时,体育老师教的一句口诀永远实用:先乘除、后加减,有括号的先算小括号。
同时,需要记住一些”特殊“的运算:
var Year++; 等同于 Year=Year+1;
Year--; 等同于 Year=Year-1;
UserInfo="I am"+"James" 等于"I am James";
var Num="2014"+1314 等于”20141314“
Num=2014+1314 等于 3328 【算死了,与上面的区别地方】
3、逻辑运算
3.1、条件语句
如果今天是晴天,我就去爬山!在语言中,我们学过 if...else...语句,如果让JS来怎么判断呢?
<script type="text/JavaScript"> var Temp=Array("James","Wade","Bosh"); var _str; for(var i=0;i<Temp.Length;i++) { var Weather="晴天"; if(Weather=="晴天") { alert("我要去爬山啦.."); }else { alert("不是晴天,只能窝在被窝里啦.."); } } </script>
if(条件){
//满足该条件的语句
}else{
//与条件相对立的语句,如果 条件为True,那么else对应的为false
}
如果明天是晴天,我去爬山,如果是阴天我就打羽毛球,如果下雨我就睡觉!
<script type="text/JavaScript"> var Temp=Array("James","Wade","Bosh"); var _str; for(var i=0;i<Temp.Length;i++) { var Weather="晴天"; if(Weather=="晴天") { alert("我要去爬山啦.."); }else if(Weather=="阴天") { alert("是阴天,我可以去打羽毛球啦"); }else { alert("又下雨,睡觉去!"); } } </script>
if(条件1){
//满足该条件的语句
}else if(条件2){
//不满足条件1,满足添加2,则执行
}else{
//既不满足条件1,又不满足条件2,则执行
}
总结:在开发中,if语句是不可缺少的重要组成部分.但是if语句与存在着很大的不足.首先过多的if语句,会让你的代码看起来很乱。其次,在if语句里,包含在{}内的代码块只能被执行一次,如果想重复执行这些语句,那么这时候就需要用到循环语句了。
3.2、循环语句
(1)while(条件) //先判断再执行
{
//执行的语句
}
<script type="text/JavaScript"> var i=0; var num=0; while(i<10){ //i小于10,则执行下方语句,总共需要执行10次 num=num+i;
i++; } </script>
(2)do{//语句}while(条件) //先执行,再判断
<script type="text/JavaScript"> var i=0; var num=0; do{ num=num+i; i++; }while(i<10) //注意,此程序只执行9次,原因? </script>
4、函数
有时候,我们在写程序时,总会遇到一些具有相同或相似的语句,我们常常会提取出来,进行封装,这就是方法或者叫函数。JavaScript函数写法,如下:
<script type="text/JavaScript">
function Out(){
alert("出来啦");
}
</script>
那么我们在调用此函数时,只需要 Out();这样就可以了。是不是和其他语言有很多相似之处?函数的最大威力在于:我们可以根据不同的传入参数,而得到不同的想要的返回结果。
5、变量的作用域
我们知道,变量分为全局变量和局部变量。全局变量表示此变量在此脚本的任何位置可以进行引用、访问,包括它内部的函数。而局部变量只能在某一方法体内有效(也就是最近的{}括号体内可以访问 或者 函数内可以引用)。这就是变量的作用域!
6.对象
呦,小伙子是软件工程师啊,不错不错,有对象了没啊?一提到"对象",程序猿们顿时意淫起来:长头发,大眼睛,脸蛋好看,身材高挑... ,意淫过后,羞答答的打开了F盘。Music:你存在,我深深的脑海里,我的梦里...
对象貌似是一个尴尬的话题,因为这是一个被讨论不休的话题。大家都知道对象包含两种形式:属性和方法。本着世界万物皆对象的宏观概念,如大眼睛、长头发是女人的共有属性(光头的是女汉子...)。
对象就是由一些彼此相关的属性和方法集合在一起构成的一个实体。
属性:是隶属于某个特定对象的变量。
方法:是只有某个特定对象才能调用的函数。
对象是一个大的话题,说起来容易,总结起来却又显得那么苍白,感兴趣的话,可以多看看牛人的总结。这里只是简单的介绍,本着语言是相通的理解,这里就不在叙述了。关于JS的语法部分就些这样结束了,在后续的章节中,根据不同的例子进行总结。同时,拿工作用到的例子来做用例说明。