09 2013 档案
摘要:题目1if (!("a" in window)) { var a = 1;}alert(a); // undefined, ~~~所有全局变量都是window的属性,声明语句会被提升至作用域顶部代码含义:如果window不包含属性a,就声明一个变量a,然后赋值为1。你可能认为alert出来的结果是1,然后实际结果是“undefined”。要了解为什么,需要知道JavaScript里的3个概念。首先,所有的全局变量都是window的属性,语句 var a = 1;等价于window.a = 1; 你可以用如下方式来检测全局变量是否声明:"变量名称" in
阅读全文
摘要:~~在看到这篇文章之前如果让我来判断IE的版本,那么我基本上会用 navigator.userAgent去做字符串检索,现在觉得特性检测的确比较靠谱一点今天一个项目中需要判断IE版本号,又因为 jQuery 2.0 去除了对浏览器版本号的判断(它推荐特性检测),于是就看到一老外写的一段代码:var _IE = (function(){ // 因为前面有括号 funcition被认为是匿名函数对象 var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i');
阅读全文
摘要:昨晚,朋友拿了一道题问我:a.onclick = function(){ setTimeout(function() { //do something ... },0);}; //~~~ 我只知道这样回调会在JS引擎空闲时被执行,由于是单线程的关系,会进入待执行队列,没想到有人能解释的那么详细,差距啊~JavaScript API 文档明确定义:setTimeout的第二个参数意义为隔多少毫秒后,回调方法就会被执行。那么可以推断出:这里设成0毫秒,就立即被执行了。—————— 既然立即执行,为什么这段代码的作者为什么要 舍近求远?难道作者写代码的时候喝醉了?显然不是...
阅读全文
摘要:我大概是从 08、09 年从 Firebug 转入 Chrome Developer Tool,一直用到现在,越用越喜欢。我平时调错时常用的功能有: 代码格式化可以将被压缩的代码自动展开 实时代码编辑可以在运行时动态改变 JS 代码,并且不需要刷新页面就可以看到效果,一般用这个实时的在代码里插 co
阅读全文
摘要:转自:淘宝UED 1. Beautify Javascript ~~ js反压缩 js美化 js 文件在上线前一般都会压缩下, 压缩的 javascript 几乎没有可读性, 几乎无法设定断点. 在 Scripts 面板下面有个 Pretty print 按钮(这种符号 {}), 点击会将压缩 js
阅读全文
摘要:如何优化你的脚本来减少reflow/repaint?1. 避免在document上直接进行频繁的DOM操作,如果确实需要可以采用off-document的方式进行,具体的方法包括但不完全包括以下几种: (1). 先将元素从document中删除,完成修改后再把元素放回原来的位置 (2). 将元素的d
阅读全文
摘要:一元运算符只有一个参数,即要操作的对象或值。它们是 ECMAScript 中最简单的运算符。 delete delete 运算符删除对以前定义的对象属性或方法的引用。例如: 在这个例子中,删除了 name 属性,意味着强制解除对它的引用,将其设置为 undefined(即创建的未初始化的变量的值)。
阅读全文
摘要:1。#include file 包含文件的相对路径,#include virtual包含文件的虚拟路径。2。在同一个虚拟目录内,和效果是相同的,但假设虚拟目录名为myweb,则也可以通过调试,但我们知道是绝对要报错的。3。如果一个站点下有2个虚拟目录myweb1和myweb2,myweb1下有文件file1.asp,myweb2下有文件file2.asp,如果file1.asp要调用file2.asp,那么在file1.asp中要这样写:,在这种情况下用#include file是无法实现的,用必然报错。相反,在myweb2的文件中包含myweb1中的文件也是一样。如果该被包含文件在某个文件夹
阅读全文
摘要:我是一个很少使用IE滤镜,也是一个不赞成使用IE滤镜的前端工程师。不过今天有一个朋友给我发来了一个有关于IE6的BUG,就是在IE6中使用了AlphaPNG透明的IE滤镜之后,a链接不能够点击。具体情况是这样的:在IE6下使用DXImageTransform.Microsoft.AlphaImage
阅读全文

浙公网安备 33010602011771号