Java代码
1.signin.jsp
<%
String errMessage = null;
Object obj = request.getAttribute("errorinfo");
if(obj != null){
errMessage = obj.toString().trim().toLowerCase();
}
%>
<script type="text/javascript">
function errorLogin(){
var num = String("<%=errMessage%>");
if(num !== "null"){
document.getElementById("error_login").innerHTML = "username or password is wrong !";
}
}
</script>
<body onload="javascript:errorLogin();">
<span id="error_login" class="error" ></span>
</body>
1.signin.jsp
<%
String errMessage = null;
Object obj = request.getAttribute("errorinfo");
if(obj != null){
errMessage = obj.toString().trim().toLowerCase();
}
%>
<script type="text/javascript">
function errorLogin(){
var num = String("<%=errMessage%>");
if(num !== "null"){
document.getElementById("error_login").innerHTML = "username or password is wrong !";
}
}
</script>
<body onload="javascript:errorLogin();">
<span id="error_login" class="error" ></span>
</body>
2. 上面的代码经过了我好长时间的修改才成功了,主要是对于JS中的null和"",这两个空值不熟悉的原因,在加上如何定义JS里面的字符串和变量,这些都不是很熟悉,所以才那样。
现在解释下:
(1)初始时:<%=errMessage%>为null,当时的写法是:var num = <%=errMessage%>; if(num !== null),
这样看上去很正确其实是不对的。初始时是正确的但是当我有值时即num=failed,<%=errMessage%>从request获取来的值为failed,这时报“failed未定义”的异常??
(2)为什么会出现上面的异常呢?然后我去查JS如何定义变量?
(3)又查了JS如何定义字符串??
这样来定义了:var num = String("<%=errMessage%>"); 有了(4)中的 String(null) -> "null",初始时
<%=errMessage%>的值为null,这样转化成String类型为"null",紧接着我用if(num !== "null"),这样在以后的num="failed"的时候,这时候就没报failed未定义的异常了,因为我把它转化成了String,这就是JS如何定义字符串。
这样就搞定了我的问题了。
(4)到String的转换关系?
String(undefined) -> "undefined" ,String(null) -> "null" , String("") -> "" , String(0) -> "0"
String(false) -> "false"
(5)它们的typeof类型?
typeof(undefined) == 'undefined' ,typeof(null) == 'object' ,typeof("") == 'string' ,
typeof(0) == 'number' ,typeof(false) == 'boolean'
Java代码
3. 全等号和非全等号(=== 和 !==)
(1)这两个运算符所做的事情与等号和非等号(==和!==)相同,只是它们在检查相等性前,不执行类型转换。
(2)例如:
var sNum = "66";
var iNum = 66;
alert(sNum == iNum); //输出 "true"
alert(sNum === iNum); //输出 "false"
在这段代码中,第一个 alert 使用等号来比较字符串 "66" 和数字 66,输出 "true"。
如前所述,这是因为字符串 "66" 将被转换成数字 66,,然后才与另一个数字 66 进行比较。
第二个 alert 使用全等号在没有类型转换的情况下比较字符串和数字,当然,字符串不等于数字,
所以输出 "false"。
(3)非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true。
例如:
var sNum = "66";
var iNum = 66;
alert(sNum != iNum); //输出 "false"
alert(sNum !== iNum); //输出 "true"
这里,第一个 alert 使用非等号,把字符串 "66" 转换成数字 66,使得它与第二个运算数 66 相等。
因此,计算结果为 "false",因为两个运算数是相等的。第二个 alert 使用的非全等号。
该运算是在问:"sNum" 与 "iNum" 不同吗?这个问题的答案是:是的(true),
因为 sNum 是字符串,而 iNum 是数字,它们当然不同。
转自 互联网
分享到:
相关推荐
JSPExample11.jsp 解析字符串的子字符串 stringOP.html 页面数据提交至JSPExample12.jsp JSPExample12.jsp 字符串替换 JSPExample13.jsp 字符串大小写转换、反转等操作 logon.html 页面...
jsp 中定义和使用方法示例介绍 jsp(Java Server Pages)是一种动态网页技术,用于生成动态的 Web 内容。jsp 中定义和使用方法是非常重要的,以下将对 jsp 中定义和使用方法进行详细的介绍。 jsp 中定义方法 在 ...
// 定义一个变量用于存储处理后的字符串 String content11 = ""; // 获取原始字符串 if (instation_letter.get("content") != null) { String originalContent = instation_letter.get("content").toString();...
- JavaScript的数据类型包括数值、字符串、布尔、空(null)以及对象。 - 数值类型包括整数和浮点数,支持科学计数法。 - 字符串由单引号或双引号包围。 - 布尔值为true或false。 - 空值null表示没有值。 - 对象...
这篇博客“JS 使用 typeof 获取数据类型”深入探讨了如何利用`typeof`来识别和处理不同类型的JavaScript数据。 首先,`typeof`返回的是一个字符串,这个字符串描述了变量的类型。它适用于原始数据类型(如`...
- JavaScript的变量类型包括:数值、字符串、布尔值、null、undefined、对象和Symbol(ES6新增)。 - 特殊数值包括NaN(非数字)、Infinity(正无穷大)和-Infinity(负无穷大)。 - 判断是否为数字可使用`isNaN...
- 数据类型:包括字符串(String)、数字(Number)、布尔(Boolean)、空(null)、未定义(undefined)和对象(Object)。 - 控制结构:if...else语句用于条件判断,for和while循环用于迭代执行。 2. 函数: -...
虽然JSP自带的标签库(JSTL)提供了诸如`fn:contains`等方法来检查一个字符串是否包含另一个字符串,但是它并没有直接提供一个用于判断列表是否包含某个字符串的方法。因此,在实际项目中,开发者通常需要自定义方法...
在这个示例中,`num1`和`num2`的类型分别是数字和字符串,它们相加时,数字会被隐式转换为字符串,然后进行字符串拼接。 #### 数据类型概述 JavaScript支持多种数据类型,包括基本数据类型和复合数据类型。 #####...
1. 文字:包括布尔值(True和false)、整数、浮点数、字符串以及null值。 2. 操作符:包括算术型、逻辑型、关系型、空操作符等。 3. 变量(对象引用):EL表达式会自动处理对象的引用,例如${user.name}表示访问user...
3. **数据类型**:JavaScript支持多种数据类型,包括基本数据类型(如数值、字符串、布尔值等)和复合数据类型(如数组、对象等)。 4. **动态性**:JavaScript是一种动态类型的语言,这意味着变量的数据类型可以在...
1. **变量与数据类型**:JavaScript支持动态类型,可以声明不同类型的变量,如数字、字符串、布尔值、null、undefined等。 2. **控制结构**:包括条件语句(if...else,switch)、循环语句(for,while,do...while...
**基础语法**:JavaScript的基础包括变量声明、数据类型(如字符串、数字、布尔值、null、undefined)、运算符(算术、比较、逻辑)、流程控制(条件语句if...else、switch,循环语句for、while)以及函数的使用。...
基本数据类型包括数字(Number)、字符串(String)、布尔值(Boolean)、null、undefined,以及ES6新增的Symbol和BigInt。另外,还有一种复合类型——对象(Object)。 2. 控制流语句:包括条件语句(if...else,...
` 数据类型包括:字符串、数字、布尔值、null、undefined、对象和Symbol(ES6新增)。 2.1.9 JavaScript控制流程语句 JavaScript支持条件语句(如if...else)、循环语句(如for、while)以及switch语句,用于根据...
JS有三种基本数据类型:数值类型(包括特殊值NaN、Infinity)、字符串类型和布尔类型。此外,还有对象类型和null类型,以及ES6引入的Symbol类型。 对于数值类型,`NaN`表示“非数字”,`Infinity`表示无穷大,`...
在Web开发领域,JSP(JavaServer Pages)和JavaScript是两种重要的技术,它们在构建动态网页和交互式用户界面方面发挥着关键作用。本文将对JSP和JavaScript的一些基本函数进行总结。 首先,JSP是Java的一种视图技术...
通过`if-else`语句判断字符串长度,并使用`substring`方法截取显示不超过特定长度的文本。 7. **动态插入文本**: 当需要在多个位置插入相同的动态文本时,可以定义变量并重复使用。这在处理URL参数、创建动态...
这包括变量声明、数据类型(如数字、字符串、布尔值等)、操作符(如算术、比较、逻辑操作符)、控制结构(如条件语句if...else、循环for...while)以及函数定义等基本概念。 #### 关键特性 - **变量声明**:使用`...
- `+`: 使用加号连接字符串。 12. **比较运算符**: - `==, !=, >, >=, <, 用于比较两个值是否相等、不相等、大于、小于等。 13. **变量声明**: - `var`: JavaScript中声明变量的关键字。 14. **条件语句**: -...