1、如何检测一个变量是一个Array类型
typeof (obj) === "array"
obj.constructor === array
2、去除字符串空格
去除所有空格: str = str.replace(/\s*/g,"");
去除两头空格: str = str.replace(/^\s|\s$/g,"");
去除左空格: str = str.replace( /^\s*/, “”);
去除右空格: str = str.replace(/(\s*$)/g, "");
3、怎样添加、移除、移动、复制、创建和查找节点?
1)创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
2)添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入
3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性
4、 描述下 JSON 对象的两个很重要的方法
JSON.parse() //JSON 字符串转换为 JSON 对象
JSON.stringify() //JSON 对象转化为字符串
5、eval 是做什么的?
把对应的字符串解析成js代码并运行(不建议使用,不安全,耗性能);
把 json字符串 转换成 json对象 时可用 eval,var obj = eval(’(’+str+’)’)
它的功能是把对应的字符串解析成 JS 代码并运行;
应该避免使用 eval,不安全,非常耗性能(2 次,一次解析成 js 语句,一次执行)。
6、 简述下为何通过 ajax 发送的请求会出现乱码问题,如何解决?
编码格式冲突,直接在传输中文数据前加 encodURL() 编码
乱码的问题就是编码格式冲突,我们需要传输中文数据前面加一个 encodeURI()编码,
例如:encodeURI($("#fk_info").val());
7、HTML5、CSS3 里面都新增了那些新特性?
新的语义标签
本地存储
离线存储 Websocket 2d,3d 变换 Transition,animation 媒体查询新的单位(rem,vw,vh 等)
8、2d、3d的转换
transform: translate(50px,100px);//移动
transform: rotate();//旋转
transform: scale();//缩放
transform: skew();//倾斜
9、方法
$.each():遍历数组、对象、对象数组中的数据
$.trim():去除字符串两边的空格
$.type(obj):得到数据的类型
$.isArray(obj):判断是否是数组
$.isFunction(obj):判断是否是函数
$.parseJSON(obj):解析json字符串转换为js对象或数组
children():子标签中找
find():后代标签中找
parent():父标签
prevAll():前面所有兄弟标签
nextAll():后面所有兄弟标签
siblings():前后所有兄弟标签