随笔分类 - javascript
看来得单独列一项出来了
摘要:setTimeout的用法详见:http://www.w3school.com.cn/htmldom/met_win_settimeout.asp是的,setTimeout的常见用法是让某个方法延迟执行。我们知道,setTimeout方法是挂在window对象下的。《JavaScript高级程序设计》第二版中,写到:“超时调用的代码都是在全局作用域中执行的,因此函数中this的值在非严格模式下指向window对象,在严格模式下是undefined”。在这里,我们只讨论非严格模式。setTimeout接受两个参数,第一个是要执行的代码或函数,第二个是延迟的时间。一、先说结论:setTimeout
阅读全文
摘要:Array.prototype.slice的妙用开门见山,关于Array 的slice的用法可以参考这里http://www.w3school.com.cn/js/jsref_slice_array.asp。除了常见的从某个数组中抽取出新的数组外,它还有一些其他的用法。经常的,可以看到Array.prototype.slice(arguments, 0); 这个写法可以用于function() {} 内,这样可以将函数的参数列表转换成一个真正的数组。请看一个例子:var slice = Array.prototype.slice;var toString = Object.prototype.
阅读全文
摘要:今天在reivew部门牙套姐MM的代码的时候,有点小心得,给大家分享。我们常常说到,“学以致用”,但我发现自己却很少能真正做到。《javascript高级程序设计》即大家常说的“红宝书”,我也经常看,可是一些技巧还是要在实战中总结出来的。就比如今天将的这个~不起眼的一元运算符,学名“按位非”,在书的第三章中也有详细的介绍:~:按位非操作符由一个波浪线(~)表示,执行按位非的结果就是返回数值的反码。var num1 = 3; // 我的幸运数字是3var num2 = ~(num1);console.log(num2) // "-4"var num3 = -3; var nu
阅读全文
摘要:说明:测试所用的js框架为kissy,后端语言为php写在前面目前我们可以将ajax请求的情形按照不同的类型进行分类,比如页面编码:utf-8 or gbk; ajax 传参方式 post or get; 传参的时候数据放到url中还是放到data属性中;参数中是否带有中文;后端通过get or post方式获取参数; 后端解析并返回值的编码为 utf-8 or gbk。通过排列组合一下,发现居然多达64种,但是页面编码来说的话,我们暂定为utf-8(因为页面编码为gbk的情况是可以类推的)。我们在ajax请求的时候怎么去避免乱码,post和get如何取舍,应该注意些什么问题呢?来跟我一起来探
阅读全文
摘要:设计这样的一个动画,已知一个数字值,例如 num = 10000,动画效果:已进入页面的时候,数字以某种速度一直增加到10000为止。下面提供两种思路。1. 利用类似高数中的等比数列原理,设置一个比例值rate,当然该比例值的值域属于 (0 ,1),这样每进行一次乘法运算,值才会越来越小。第一次的结果为 result = num * rate,如果result <= num,则 计算left = num - result;再对left做乘法,并对result重新复制, result += left * rate,再判断result 和 num的大小,如果result < num,则
阅读全文
摘要:在开发页面的时候,我们常常会用到一个值,就是滚动条到窗口左边界的距离,通常可以使用的属性有三个,分别是:1.window.scrollX;2. window.pageXOffset;3. document.documenetElement.scrollLeft每个方法都有自己的一些特点和需要注意的地方。先通过一篇文章来了解下,,地址:http://help.dottoro.com/ljfswxte.php翻译如下:如果你想获取文档距离左边滚动的像素大小,你可以采用以下方法:windwo对象的pageXOffset属性总是可以返回滚动的长度,不管doctype是什么类型的,所有浏览器都支持这个属
阅读全文
摘要:transition-duration是属于css3的属性,用来指定对象过渡的持续时间。为了兼容不同的浏览器,需要加上相应的前缀,有以下几种写法,我们设定持续时间为3秒:selector{
-webkit-transition-duration: 3s;
-moz-transition-duration: 3s;
-o-transition-duration: 3s;
-ms-transition-duration: 3s;
transition-duration: 3s;
} 这个属性怎么用来制作动画呢?既然是动画, 肯定有个初始状态和结束状态,那么我们只需要指定这两个状态就可以了。首先,我
阅读全文
摘要:一、最近在学习linux,当然得自己装了linux系统,我在win7下通过虚拟机安装了fedora.我也是个菜鸟,自行百度,谷歌,帮你搞定。虚拟机使用的是:vmware,这个直接百度就能查到。fedora的下载地址:http://mirror.karneval.cz/pub/linux/fedora/linux/具体的安装方法,请参考:1.http://wenku.baidu.com/view/7894a95677232f60dccca101.html2.http://wenku.baidu.com/view/775820f74693daef5ef73df2.html二、视差学习,最近视差网页
阅读全文
摘要:var GB2312UnicodeConverter = { ToUnicode: function (str) { return escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u'); } , ToGB2312: function (str) { return unescape(str.replace(/\\u/gi, '%u')); }
}; var str = '上海', unicode;
document.write(str + '<br/>');
uni
阅读全文
摘要:昨天到今天上午都在查一个IE的bug,情形如下:通过异步请求获取json数据,然后拼接成html代码,最后使用innerHTML类似方法插入到文档流中。在chrome下和IE8\9下均表现正常。结果已进入IE7,浏览器就崩溃,更别提IE6了,也是一副死给你看的样子。于是我就把这个bug定位于IE6\7,其实这时候我已经陷入了这个固定思维模式中,浪费了不少时间。检查bug的步骤1. bug定位在js脚本中,按照脚本执行的顺序,你可以用console或alert,来确定bug发生的代码区间,然后在区间内进一步来查找bug发生的具体代码段。2. bug fix通过排除,就是在插入节点内容的时候导致.
阅读全文
摘要:转载自:http://www.hujuntao.com/archives/ie-remove-the-link-to-the-dotted-rectangle-several-ways.html虚线框简直就是个多余的东西,上一篇教大家怎么去除Firefox中链接和按钮虚线框,今天叫大家去掉去除IE中链接的虚线框。方法一:利用javascript的onfocus事件,实现如下:Html代码<a href="http://www.hujuntao.com/" onfocus="this.blur();">设计蜂巢</a>如果引入了jQ
阅读全文
摘要:我用两种方法来生成img对象,第一种方法是用new方法,第二种方法是用document.createElement方法。var img1 = new Image();
var img2 = document.createElement('img');其实,乍一看,感觉有些不同,但是具体什么不同,一下子也说不上来。在console窗口,比较看看,都是生成img对象,节点名称都一样。接下来,我来比较一下它们的node类型结果nodeType也是一样的,都属于元素节点。节点类型常用的有3种,元素节点Node.ELEMENT_NODE(1);属性节点Node.ATTRIBUTE_NOD
阅读全文
摘要:在javascript里面,我们知道有两种常见的创建对象的方法,一种是使用对象直接量:对象直接量是由若干值/键对组成的映射表,值/键对用逗号”,“分隔开,整个部分用花括号”{}“括起来。例如:var empty={};
var people = { name:'kobe', age:'34'
}; 另外一种方法是通过new创建对象:在new后面使用一个函数调用,这个函数也成为构造函数,通过new来初始化一个新的对象。例如:var arr = new Array();
var date = new Date();
var obj = new Object(); 其
阅读全文
摘要:window.close(),一看就知道是用来关闭浏览器窗口的方法。W3CSchool对该方法的解释如下:方法 close() 将关闭有 window 指定的顶层浏览器窗口。某个窗口可以通过调用 self.close() 或只调用 close() 来关闭其自身。只有通过 JavaScript 代码打开的窗口才能够由 JavaScript 代码关闭。这阻止了恶意的脚本终止用户的浏览器。 在IE中,window.close()能生效,在生效的时候,会弹出提示框,询问你是否关闭该窗口,如图: 点击“是”,可以直接关闭该窗口。是这段代码在chrome和Firefox下面不会生效。针对chrom...
阅读全文
摘要:1.利用Boolean对象进行转换varnum123=123,str='abc',o={name:'test'},num0=0;num123=Boolean(num123);//truenum0=Boolean(num0);//falsestr=Boolean(str);//trueo=Boolean(o);//true2. 利用两个'!'运算符,第一个'!'将值转换成布尔值并取其值的非值,第二个'!'将其布尔值还原,类似于“负负得正”的道理。varnum123=123,str='abc',o={n
阅读全文
摘要:项目中最近有用到一段小的js代码,需要判别IE6,7,8,自己整理了下。1<scripttype="text/javascript">2if(window.ActiveObject){//ifisIE3varua=navigator.userAgent.toLowerCase();4varcheckIE=function(r){5returnr.test(ua);6}7varisIE6=check(/msie6/),8isIE7=check(/msie7/),9isIE8=check(/msie8/);10if(isIE6){//TODO}11if(isIE7)
阅读全文