您的位置:首页 > Web前端

Web前端大冒险 第一章 JSP的世界(二)

2016-11-09 17:44 197 查看
       对JSP有了宏观把控之后,就可以来点细节学习了。在此之前,我得到了一个感悟,如果你能够一边看书一边在旁边写下像我这样的理解文字,对你的读书和学习也会有很大帮助。

       那么这关的大冒险都有什么内容呢?看看导航信息:jsp基本数据类型,数组,常用操作符,控制流语句。好像和以前学的C++和Java很类似嘛,我们来具体看看都有什么不一样。

       首先第一个小怪叫做变量,变量主要用来存储数据,之所以叫变量,是因为他可以随时改变而且比直接用数字方便。变量的使用通常是声明变量和初始化变量(赋值),声明变量常用格式是var+变量名,变量名不能以数字开头,声明变量和初始化变量可以分开也可以同时进行(var
a =1),变量名区分大小写。在firebug的控制台中,可以这样测试:

        


       定义完之后点击运行即可。

       接下来是操作符,通常是对一到两个输入执行某种操作,并返回结果的符号,一般来讲,符号有+,-,*,/,%,++,- -,=(加减乘除取模自增1和自减1,赋值)。

       基本数据类型包括:1.数字 2. 字符串 3. 布尔值 4.undefined 5.null,而其他的数据类型为非基本类型,一般被认为是对象。要想查看数据类型,可以使用typeof操作符。

       一个数字可以表示为1e1或1e+1的形式,表示在1后面加1个0,也就是10。除此以外,还有一种叫做Infinity的特殊值,他表示超出了jsp处理范围的值,也就是最大的数,如果使用Inifinty和Inifinty进行运算,将会得到NaN(Not
A Number),其他Inifinty与其他任何操作数运算将得到Inifinty,而如果对一个数字执行操作失败后,就会得到一个NaN,而整个运算也会因此失败。

       对于字符串来讲,也可包含数字,不过数字要加双引号“ ”,对于+号来讲,它既可以表示数字加减也可以用于拼接字符串,所以要保证两边数据类型一致。字符串转换有两种偷懒的方法,将(数字)字符串*1即可得到数字类型,将其它类型的值+“ ”(空格字符串)即可得到字符串类型的数据。一些特殊的字符串包括转移字符串“\”(用于在字符串中使用引号),换行符\n,回车符\r,制表符\t,Unicode码提示符(瞎取的名字)\u(之后的字符会视为Unicode码)。

       而布尔值(boolean)只有true和false两种值。逻辑运算包括!(逻辑非)、&&(逻辑与)、||(逻辑或)。如果在一个非布尔值上执行逻辑运算,该值会在计算期间转换为布尔值,除了空字符串“
”、null、undefined、数字0、数字NaN、布尔值false在转换时候会取为false,其他的一般都为true。优先级!>&&>||。当然还有一些比较运算符:!=,=
=,===,!==,>=,<=,>,<,不详述了,有趣的是NaN不等于任何东西包括他自己。

       Undefined与null的区别:当我们试图访问某个不存在的或者未经赋值的变量时,就会获得一个undefined值,而null不会通过javascript赋值,而是我们自己的代码来赋值。并且他们的值只有一个,即undefined和null。

       呼~数据类型总算讲得差不多了,接下来讲点关于数组的东西。数组是一个用于存储数据的列表,可以存取任意数量的元素值。声明方式为var a =[ ];我们可以通过元素在数组中的索引位置对元素进行访问,一般位置从0开始。可以通过索引一个之前不存在的位置添加更多数组元素,如果被添加的未知与原数组末端有间隔,那么之间的元素都会自动设为undefined,删除元素使用delete
a[i],但是并不会缩短数组长度,而是把值赋为了undefined。数组也可以存储另一个数组。

       最后终于打到了条件与循环这个小boss,主要包括if条件表达式、switch语句和while、do-while,for以及for-in循环。以上这些条件循环会使用到代码块,代码块就是包括在0对或多对大括号中的代码。

       以上这些但凡有点编程基础的都知道,我主要来探究一下不一样的地方。

       检查变量是否存在:最懒的方法可以用if(变量),未定义会给出警告,不过最好还是使用typeof判断if(typeof
somevar!==“undefined”),但实际上我们用typeof测试一个变量是否已经定义并被初始化了。

       当if表达式中else if太多的时候,考虑用switch来代替,语法与java类似。

       循环中大部分操作都不值一提,我们来讲一讲for –in循环。它往往被用来便利某个数组的元素,不能代替for和while循环执行一般性的重复操作。语法为:for(var i in a){},其中i是索引,a是数组。

       呼~差不多结束了,我们来晒一晒战利品:

1.      如果在控制台执行以下语句会得到什么结果?为什么?

(1)       var a; typeof a;               "undefined"

(2)      var s= "1s";s++;                  NaN

(3)      !!"false"                       true

(4)       !!undefined                    false

(5)       typeof –Infinity                 "number"

(6)       10%"0"                         NaN

(7)      undefined ==null                 true

(8)       false ===""                    
  false

(9)       typeof "2E+2"                    "string"

(10)   a =3e+3; a++;                     3000

看官自己分析分析原因把,哈哈!

2.      执行下面语句后,v的值会是什么?

>>> var v =v||10;

undefined

3.      编写一个打印乘法口诀表的脚本程序。使用嵌套循环实现。

<span style="font-size:18px;">var result = '\n';

for(i=1;i<=9;i++){

for(j=1;j<=i;j++){

result+=j+"x"+i+"="+i*j+'\t';

}

result+='\n';

}</span>


效果图如下:



嘿嘿,本期大冒险结束,继续肝下一期!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息