<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
1.el表达式:判断是否为空
${smokeBrief.total_cases eq null?"null":smokeBrief.total_cases}
${empty testEventList?"null":testEventList.get(0).start_time}
2.函数对结果取整:截取小数点前的数字
${fn:substringBefore((smokeBrief.total_time/24), ".")}d ${smokeBrief.total_time%24}h
3.标签对结果转换为整数:
<fmt:formatNumber type="number" value="${uiFunctionBrief.pass_rate*uiFunctionBrief.total_cases*(0.01)}" maxFractionDigits="0"/>
4.js获取对象的属性个数:
var person = {
"name":"lisi",
"age":18,
"phone":"13516818652”
};
Object.getOwnPropertyNames(person).length
Object.keys(person).length
5.js中将变量转为字符串:
1.value.toString()
2."" + value
3.String(value)
6.for 语句中变量的作用域问题:
for循环语句的花括号不能代表作用域,实际上整个for内部的语句的作用域与for属于同一级作用域。
for (true){
var color ="blue";
}
alert (color); //blue
因此 ,常见一种JS题目。
for (var i = 0;i<10;i++){
doSomethiing(i);
}
alert(i); // 10
这里在for执行完后,由于for内部的i与alert 、for处于同一级作用域,因此i=10。
但是对于函数而言,则花括号决定了函数内的语句作用域属于函数内部。
7.js 获取对象的变量属性名的值:
1、不能是变量
var person= {};
person.name= 'jack'
通过"."运算符这种方法"name"不能是一个变量。
2、可以是变量
var person= {};
person[name] = 'bob'
通过“[]”这种方法"name"可以是一个变量。
这样就可以动态的获取js对象的变量属性!