`

JS和JSP的共同使用(JS的字符串定义、null值的判断、变量的定义)

阅读更多
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'

 

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 是数字,它们当然不同。

 

分享到:
评论
1 楼 小蝶兒 2013-01-07  
 

相关推荐

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    JSPExample11.jsp 解析字符串的子字符串 stringOP.html 页面数据提交至JSPExample12.jsp JSPExample12.jsp 字符串替换 JSPExample13.jsp 字符串大小写转换、反转等操作 logon.html 页面...

    jsp中定义和使用方法示例介绍.docx

    jsp 中定义和使用方法示例介绍 jsp(Java Server Pages)是一种动态网页技术,用于生成动态的 Web 内容。jsp 中定义和使用方法是非常重要的,以下将对 jsp 中定义和使用方法进行详细的介绍。 jsp 中定义方法 在 ...

    字符串的截取和全选并删除 讲解及代码

    // 定义一个变量用于存储处理后的字符串 String content11 = ""; // 获取原始字符串 if (instation_letter.get("content") != null) { String originalContent = instation_letter.get("content").toString();...

    第2章 JSP编程基础知识-JavaScript.ppt

    - JavaScript的数据类型包括数值、字符串、布尔、空(null)以及对象。 - 数值类型包括整数和浮点数,支持科学计数法。 - 字符串由单引号或双引号包围。 - 布尔值为true或false。 - 空值null表示没有值。 - 对象...

    JS 使用 typeof 获取数据类型

    这篇博客“JS 使用 typeof 获取数据类型”深入探讨了如何利用`typeof`来识别和处理不同类型的JavaScript数据。 首先,`typeof`返回的是一个字符串,这个字符串描述了变量的类型。它适用于原始数据类型(如`...

    韩顺平javascript课堂笔记完整版

    - JavaScript的变量类型包括:数值、字符串、布尔值、null、undefined、对象和Symbol(ES6新增)。 - 特殊数值包括NaN(非数字)、Infinity(正无穷大)和-Infinity(负无穷大)。 - 判断是否为数字可使用`isNaN...

    html、asp、jsp等都需要的js相关代码

    - 数据类型:包括字符串(String)、数字(Number)、布尔(Boolean)、空(null)、未定义(undefined)和对象(Object)。 - 控制结构:if...else语句用于条件判断,for和while循环用于迭代执行。 2. 函数: -...

    jsp 判断list是否包含string的实现方法.docx

    虽然JSP自带的标签库(JSTL)提供了诸如`fn:contains`等方法来检查一个字符串是否包含另一个字符串,但是它并没有直接提供一个用于判断列表是否包含某个字符串的方法。因此,在实际项目中,开发者通常需要自定义方法...

    JSP EL表达式

    1. 文字:包括布尔值(True和false)、整数、浮点数、字符串以及null值。 2. 操作符:包括算术型、逻辑型、关系型、空操作符等。 3. 变量(对象引用):EL表达式会自动处理对象的引用,例如${user.name}表示访问user...

    011韩顺平轻松搞定网页设计(html+css+js)之javascript现场授课笔

    3. **数据类型**:JavaScript支持多种数据类型,包括基本数据类型(如数值、字符串、布尔值等)和复合数据类型(如数组、对象等)。 4. **动态性**:JavaScript是一种动态类型的语言,这意味着变量的数据类型可以在...

    JS编程实例经典讲义

    **基础语法**:JavaScript的基础包括变量声明、数据类型(如字符串、数字、布尔值、null、undefined)、运算符(算术、比较、逻辑)、流程控制(条件语句if...else、switch,循环语句for、while)以及函数的使用。...

    WEB老师课件,包括javascript,jsp,css,html知识点

    1. **变量与数据类型**:JavaScript支持动态类型,可以声明不同类型的变量,如数字、字符串、布尔值、null、undefined等。 2. **控制结构**:包括条件语句(if...else,switch)、循环语句(for,while,do...while...

    javaScript程序例子

    基本数据类型包括数字(Number)、字符串(String)、布尔值(Boolean)、null、undefined,以及ES6新增的Symbol和BigInt。另外,还有一种复合类型——对象(Object)。 2. 控制流语句:包括条件语句(if...else,...

    JSP动态网页设计技术教程第章HTML和JavaScript完美版资料.ppt

    ` 数据类型包括:字符串、数字、布尔值、null、undefined、对象和Symbol(ES6新增)。 2.1.9 JavaScript控制流程语句 JavaScript支持条件语句(如if...else)、循环语句(如for、while)以及switch语句,用于根据...

    自己完善的韩顺平JS笔记完整版

    JS有三种基本数据类型:数值类型(包括特殊值NaN、Infinity)、字符串类型和布尔类型。此外,还有对象类型和null类型,以及ES6引入的Symbol类型。 对于数值类型,`NaN`表示“非数字”,`Infinity`表示无穷大,`...

    jsp和js编程基本函数总结

    在Web开发领域,JSP(JavaServer Pages)和JavaScript是两种重要的技术,它们在构建动态网页和交互式用户界面方面发挥着关键作用。本文将对JSP和JavaScript的一些基本函数进行总结。 首先,JSP是Java的一种视图技术...

    JavaWeb开发技术-EL中的常量和变量.pptx

    本篇内容将深入讲解EL中的常量和变量,这对于理解和使用JavaWeb开发至关重要。 首先,我们来看EL中的常量。常量在编程中代表不可变的值,一旦赋值后就不能再改变。在EL中,我们可以使用以下几种类型的常量: 1. **...

    CommonFunction.js

    从给定的文件信息来看,虽然标题为"CommonFunction.js",且描述提及了"javascript判断时间格式以及是否为空",但实际代码片段主要展示的是一个使用ASP.NET编写的网页表单,涉及到用户注册界面的设计与验证逻辑。...

Global site tag (gtag.js) - Google Analytics