06 2013 档案
摘要:var toString = function(obj){ var self = this; switch(typeof(obj)){ case 'object': var ret = []; if (obj instanceof Array){ for (var i = 0, len = obj.length; i < len; i++){ ret.push(arguments.callee(obj[i])); } ...
阅读全文
摘要:监听滚动条和浏览器大小变化:$(document).ready(function() { //监听滚动条的变化 $(window).scroll(function() { ddd(); }); //监听浏览器大小变化 $(window).bind("resize", ddd); });一个dom元素距离页面顶部(包括了滚动条)的位置:$template.offset().top;滚动条到顶部的垂直高度 :$(d...
阅读全文
摘要:cheyoushuo.ui.alert('appName:' + navigator.appName + '|-----|appCodeName:' + navigator.appCodeName + '|-----|userAgent:' + navigator.userAgent);IE10 :appName:Microsoft Internet Explorer|-----|appCodeName:Mozilla|-----|userAgent:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6
阅读全文
摘要:前言网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点。简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名实现递归,但很快你就会发现其实是不切实际的。当然,如果你不关注调试,那就没什么可担心的了,否则,如果你想了解兼容性方面的东西的话,你还是应该继续往下看看。我们先开始看看,什么叫函数表达式,然后再说一下现代调试器如何处理这些表达式,如果你已经对这方面很熟悉的话,请直接跳过此小节。函数表达式和函数声明在EC
阅读全文
摘要:eval()如果你现在的代码中使用了eval(),记住该咒语“eval()是魔鬼”。此方法接受任意的字符串,并当作JavaScript代码来处理。当有 问题的代码是事先知道的(不是运行时确定的),没有理由使用eval()。如果代码是在运行时动态生成,有一个更好的方式不使用eval而达到同样的目 标。例如,用方括号表示法来访问动态属性会更好更简单:// 反面示例var property = "name";alert(eval("obj." + property));// 更好的var property = "name";alert(ob
阅读全文
摘要://第一种变化的形式:var i, myarray = [];for (i = myarray.length; i–-;) { // 使用myarray[i]做点什么}补充一下对于单var和作用域原则可以改进为:var myarray = [];for (var i = myarray.length; i–-;) { // 使用myarray[i]做点什么}这样i只在循环内部起作用,如果有多段for循环代码这个i很可能是个隐患//第二种使用while循环:var myarray = [], i = myarray.length;while (i–-) { // 使用myarr...
阅读全文
浙公网安备 33010602011771号