知乎上一个哥们问的 我做一下顺便巩固一下知识 觉得题目还不错 问答式的写在前面 代码的统一写在后面
原题目地址http://www.zhihu.com/question/19863532
1.事件对象在IE与FF中有哪几个共同的属性呢?
坑爹的一道题 查文档查半天
altKey, ctrlKey, shiftKey button,clientX, clientY,type
没什么价值的一道题,但是事件对象模型一定要搞清楚 过几天会总结一下
2.IE的innerHTML需要注意哪些问题?
ie下一些元素的innerhtml的属性是只读的,不能赋值
3.请指出slice,substr,substring的不同
这个没查资料 完全自己回答的。。
都是字符串截取的方法 slice和substring差不多
用法a.slice(start,end) a.substring(start,end) 区别就是substring第二个参数不能为负数
a.substr(start,length) 第二个参数是截取长度
下面是代码的了
//如果动态加载JS文件(请写出完整的函数)
//很经典的东西
function dload(src,callback){
var script = document.createElement('script');
script.src = src;
if(script.readyState){
script.onreadystatechange = function(){
if(script.readyStart == 'loaded' || script.readyState == 'complete'){
callback();
}
}
}
else{
script.onload = function(){
callback();
}
}
document.getElementsByTagName('head')[0].appendChild(script);
}
//计算出两个Date对象的相差的日数
function dayDiff(start,end){
var a = new Date(start).getTime();
var b = new Date(end).getTime();
var gap = Math.floor((b-a)/(24*60*60*1000));
return gap;
}
//判定一个字符串是否符合(2012-01-12)这样的日期格式(请写出完整的函数)
//写了个简单的 不能验证日期的正确性
function checkDate(str){
var pa = /\d{4}\/\d{2}\/\d{2}/g;
return pa.test(str);
}
//如何判定一个对象是数组(请写出完整的函数)
//很好的问题 还有一种解答 自己查吧~
function isArray(arr){
return ((typeof arr == 'object') && (arr.constructor == Array));
}
//用正则取得某个标签里面的innerText
//其实就是过滤掉所有的html标签
function scriptHTML(str){
return str.replace(/<.*?>/g,'');
}