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. 编写一个打印乘法口诀表的脚本程序。使用嵌套循环实现。
效果图如下:
嘿嘿,本期大冒险结束,继续肝下一期!
那么这关的大冒险都有什么内容呢?看看导航信息: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>
效果图如下:
嘿嘿,本期大冒险结束,继续肝下一期!
相关文章推荐
- Web前端大冒险 第二章 JSP函数大冒险(三)闭包
- Web前端大冒险 第二章 JSP函数大冒险(一)函数基础
- 改变世界的Web前端开发
- 改变世界的Web前端开发
- Web前端入门学习(1)——走进前端世界
- 在做j2ee的web项目,前端研发的时候,在写html、jsp、JavaScript代码的时候,卡壳了,特别是JavaScript,f12,没有解决不了的问题
- 改变世界的Web前端开发
- Web前端教程-01.走进前端工程师的世界
- Web前端——jsp页面参数显示的几个小问题
- web前端项目同时集成JSP和FreeMaker___多视图解析器配置
- 改变世界的Web前端开发
- 整理部分JS 控件 WEB前端常用的做成Jsp项目,方便今后直接用
- 整理部分JS 控件 WEB前端常用的做成Jsp项目,方便今后直接用
- 【JSP笔记】第一章 JAVA WEB简介
- 这本小书的目的是引导你进入 React 和 Webpack 的世界。他们两个都是非常有用的技术,如果同时使用他们,前端开发会更加有趣。
- 改变世界的Web前端开发
- 带你走进精彩的web前端世界 报名中 - 开班信息
- 《编写高质量代码-Web前端开发修改之道》笔记--第一章 从网站重构说起
- CSS世界:web前端开发,CSS3+HTML5网页制作
- Web前端开发:SQL Jsp小项目(二)------添加修改