记录一些工作学习中遇到的问题及解决方法,如果有不对的地方,欢迎指出,共同进步!
1. 用什么方法删除数组元素?
var arr=[1,2,3,4]; delete arr[3]; // arr = [1,2,3,undefined] arr.splice(3,1); // arr = [1,2,3]
//arr.pop() or arr.shift() 等对原数组操作的方法
2. IE11浏览器滚动条不占内容空间,如何让其行为与其它浏览器一致?
body { -ms-overflow-style: scrollbar; /* 默认为-ms-autohiding-scrollbar*/ }
3. IE10创建img元素时,当图片已在本地有缓存时,新建的元素会自动加上width,height?
a. 使用document.createElement('img'),后指定src方式创建元素会有此问题,应该是浏览器已知图片大小就自动加在了dom上;
b. 使用innerHTML直接一次性完成创建则无此问题
4. 如何等比例缩放图片?需要计算图片的宽高比例,然后分别给宽高赋值吗?
css赋值给宽/高中的任一个,另一个会默认为auto,会保持等比例缩放。
5. jQuery方法 html(),append(),after()等插入文档片段时,若含有js文件引用,会自动在请求路径上加入时间戳,如何避免不能缓存的问题?
a. 直接将文件引用放在文档外部;
b. 在html()方法成功调用后,手动引用文件
6.
var a=1,2; var b=(1,2); //注意逗号运算符,赋值运算符优先级高于逗号运算符
7. jQuery的detach方法与remove()方法区别:
detach方法保留删除元素的相关jQuery数据,如事件绑定及data方法设置的值;而remove方法则是完全删除
8. JQuery的append,prepend等方法操作一个已存在的元素时,实际上是目标元素的移动,而不是添加元素的副本
9. 引用CDN资源,当引入失败时引用自身服务器资源
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js</script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.11.1.min.js">\x3C/script>')</script>
10. 尽量少生成jQuery对象,这种对象包含很多属性及方法,尽量使用原生方法。调用时考虑jQuery函数使用的版本
var $text = $("#text"); var $ts = $.text($text);