Q&A宝典-前端基础篇
# Ajax
1. Ajax支持几种数据传递的方式?
- 字符串 text/plain
- xml text/xml
- json text/plain
# Json
1. json的格式?
键值对 {key1:value1,key2:value2..}
数组 [value1,value2..]
其中key必须是String类型,value支持null,Object,json等
2. json有哪几种封装方式?
可以封装任意类型的数据
JSONObject jo1 = new JSONObject(); jo1.put("key",value);
用来封装自定义数据类型和Map
Map<Integer,String> map = new HashMap<>();
map.put(1,"王者"); map.put(2,"荣耀");
JSONObject jo2 = JSONObject.fromObject(map);专门用来封装集合和数组
List<String> list = new ArrayList<>();
list.add("飞龙");list.add("在天");
JSONArray jo3 = JSONArray.fromObject(list);
3. json如何对自定义数据类型进行有选择性的封装?(hibernate中`防止`多表级联发生的`死循环`)
引入JsonConfig
JsonConfig jc = new JsonConfig(new String[]{"不想要的属性1","不想要的属性2"..});
JSONObject jo = JSONObject.fromObject(对象,jc);
4. json的包名是?
net.sf.json.JSONArray;
net.sf.json.JSONObject;
# jQuery
1. jQuery基本选择器
- #id、.class
- 查找所有未选中的input元素:
$("input:not(:checked)");
- 选中所有name属性是newsletter的input元素:
$("input[name='newsletter']").attr("checked",true);
2. attr和prop的区别
attr:可以获取元素自定义属性和本身自带的属性
prop:用来获取元素本身属性
3. disabled和readonly的区别
disabled:样式 灰色,后台请求接收不到参数 始终为null
readonly:样式 白色,后台请求参数可以接收
3. 简述Css层叠特性与继承特性
层叠特性: 当多种基本选择器出现冲突时优先级问题,
id选择器>类别选择器>标记选择器
继承特性: 当子元素与父元素没有任何冲突时,子元素会完全继承父元素的所有css渲染样式
4. 写出至少三种Js选择器的使用方式
document.getElementById("idName");
document.getElementsByTagName("tagName");
document.getElementsByClassName("className");
document.getElementsByName("name");
# Jsp el表达式
1. 请使用Js脚本在页面显示九九乘法表
let str = "";
for(let a = 1;a<=9;a++){
for(let b = 1;b<=a;b++){
str += b+"*"+a+"="+b*a+"\t";
}
str += "<br />";
}
document.write(str);
2
3
4
5
6
7
8
2. el表达式取值
通过属性取值:${param.键}
拿取全局参数:${initParam.键}四范围取值:
${pageScope.elena} 当前页有效
${requestScope.elena} 跳转页面有效
${sessionScope.elena} session范围有效
${application.elena} 时间到期前一直有效
我们一般只写键,但是当有多个范围的键冲突时,默认拿取范围最小的键值
3. el表达式的缺陷
- EL表达式无法直接取值,必须通过key和提供的四范围取值,如果取值失败,什么都不显示
- 解决:空验证,如果取不到值返回true,如果可以取值返回false
如:${empty sessionScope.key}