摘要: 当函数运行是,创建一个[[scope]]指向的被称为作用域链的可变对象集合,作用域链的最前端是一个包含所有的局部变量、参数、this等的被称为“激活对象”的对象。在标示符查找的过程中,从作用域的最前端开始查找,一直查找到全局环境,因此,第一个查找的就是“激活对象”。但是,如果使用with操作符,会为with中的对象临时创建一个可变对象,并推入到作用域链的最前端。也就是说,所有的局部变量被推入作用域链的第二层,从而增加了查找的代价。因此,程序中应该尽量不用with操作符。 阅读全文
posted @ 2013-10-06 17:12 charling 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 1、将所有的script标签放在页面的底部,body的结束标签之前。2、将脚本打包,script标签越少,请求数就越少,加载速度加快,相应的响应时间变短。3、使用非阻塞的方式下载脚本: (1)为script标签添加defer属性,但此方法只适用于IE和firefox3.5以上 (2)动态创建script标签,用它下载并执行代码 (3)异步加载代码并注入页面 阅读全文
posted @ 2013-10-06 15:00 charling 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 在联系notepad的开发过程中,采用了localstorage,存储以对象的形式进行(后来觉得采用无顺序的对象并不合适),因此涉及到删除的操作。1、将所存储的对象的value设置为null,但这种方式仍然会保留对象的key,在使用过程中会增加额外的判断。2、delete操作符,var obj1 = {"a" : "test"}, obj2 = {}; obj2.b = obj1.a; delete obj1.a; alert(obj2.b);测试发现,delete操作符的方法会清除key,保留value。 阅读全文
posted @ 2013-09-29 09:33 charling 阅读(267) 评论(0) 推荐(0) 编辑
摘要: {width: 150px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap;}1、之前在考虑如果进行字符串截断时,一直在思考如何用js来完成而忽略了css的text-overflow属性; 通过设置white-space:nowrap使字符串不换行,然后设置text-overflow:ellipsis,显示省略标记(如果不想显示省略标记,将text-overflow设为clip);2、缺点在于只能在只显示一行时使用。3、white-space: nowrap; 强制不换行 word-wrap:break-word.. 阅读全文
posted @ 2013-09-29 00:19 charling 阅读(3101) 评论(0) 推荐(0) 编辑
摘要: (1)append()&appendTo()&prepend()$prependTo()(2)after()&before()&insertAfter()&insertBefore()1、第(1)组方法插入到目标元素内部,第二组方法插入到元素外部2、append()&appendTo()插入到元素内部的最后面,prepend()&prependTo()插入到元素内部的最前面3、append()&prepend()属于目标元素调用的方法,被插入的值以参数传入,appendTo()&prependTo()属于被插入的值调用的方 阅读全文
posted @ 2013-09-28 23:49 charling 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1、var tmp = [1,3,5,3,7,10,9,-111]; biggest = Math.max.apply(null,tmp); //根源是? alert(biggest); //10 success!但如果数组中出现undefined则会失败。出现null不会失败2、var tmp = [1,3,5,3,null,10,9,-111];var biggest; //= tmp.toString().split(",").sort().pop();for(var i=0; i 0 ? biggest : thisNum;} //成功3、尝试先sort()排序再p 阅读全文
posted @ 2013-09-28 22:57 charling 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 1、$(div + p) & $(div ~ p) & $(div p) & $(div > p)$(div + p)选择紧挨在div后面的P元素$(div ~ p)选择div后面的所有同级P元素$(div p)选择div的后代元素中的所有的P元素,不仅仅是子元素$(div > p)选择div的子元素中的所有P元素2、text() & html() &val()text()获取所有选中元素中的文本的合并结果,但不能使用到input、textarea等表单元素和script标签上,如果带有参数则为所有选中的元素赋值val()主要用户获取inpu 阅读全文
posted @ 2013-09-26 21:50 charling 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 原因:当定位元素的 'z-index' 未设置时(默认为 auto),设置 opacity 属性将会创建一个新的局部层叠上下文(z-index)。解决方案:1. 既然 z-index 未设置触发, 那么就在用 opacity 属性时对元素进行 position + z-index 的设置2. 既然用 opacity 会触发bug, 那么迂回一下, 避免用这个属性, 换成类似的, 比如 rgba(100,100,100, .5)相关阅读:可视化格式模型( visual formatting model )http://www.w3.org/TR/CSS21/visuren.htm 阅读全文
posted @ 2013-09-26 21:49 charling 阅读(435) 评论(0) 推荐(0) 编辑
摘要: //为url添加时间戳//time 为多长时间改变一次时间戳,以小时为单位function setTimeStamp(url, time){ var time = time || 4, timeStamp = "timeStamp=" + Math.floor(new Date()/(time * 36e5)); return url.indexOf("?") < 0 ? (url + "?" + timeStamp) : (url + "&" + timeStamp);} 阅读全文
posted @ 2013-09-26 21:41 charling 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 1、被定位(相对的,绝对的)的元素会在未定位的元素前面显示2、同一被定为父级元素的两个元素,z-index值高的显示在前面(只对被定位元素起作用)3、不同被定位父级元素的两个元素,前后顺序跟父级元素的的z-index值高低有关,父级高则高。4、opacity影响元素的先后顺序,试验确实如此:将原本显示在前面的元素的opacity值设置为小于1的数之后,该元素会显示在最后面?原因尚不清楚。例子: Red Green Blue 阅读全文
posted @ 2013-09-26 09:42 charling 阅读(430) 评论(0) 推荐(0) 编辑