摘要:
来源:玉伯也叫射雕缘由JavaScript 数组去重经常出现在前端招聘的笔试题里,比如:有数组var arr = ['a', 'b', 'c', '1', 0, 'c', 1, '', 1, 0],请用 JavaScript 实现去重函数unqiue,使得unique(arr)返回['a', 'b', 'c', '1', 0, 1, '']作为笔试题,考点有二:1.正确。别小看这个考点,考虑到 JavaScript 经常 阅读全文
摘要:
使用using语句块与使用close或Dispose是等效的出了using 块就消掉了这句话的意思 就是 using(.......)这个代表 用过之后就会释放,不浪费资源,哈哈里面的内容就是 你要干的事干完后,释放using是考虑程序资源消耗的一种优化方式!这样你就可以不用去手动释放非托管资源了(托管资源系统会自动管理)using专业名词叫作用域,顾名思义,就是using中声明的变量只在using中有效,这样可以避免有时忘了释放一些必须释放的资源所引起的异常. 阅读全文
摘要:
在分析各个网站的CSS时,我们经常可以看到一些网站有很多的元素共享了一张背景图片,而这张背景图片包含了所有这些元素需要的背景,这种技术就叫做CSS Sprites。 例如淘宝的css sprites URL是http://a.tbcdn.cn/p/fp/2011a/assets/sprites.gif 这样做有什么好处呢? 显而易见,浏览器在载入每一张图片的时候都会发起一个HTTP请求。 如果使用CSS Sprites技术,将所有的图片合成一张图片,那么,这样多个HTTP请求会被合成一个HTTP请求。 这样就既能大大降低后台服务器的开销,又能加快网页载入速度。 CSS Sprites原理: . 阅读全文
摘要:
制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置。下面的教程总结了Javascript在网页定位方面的相关知识。一、网页的绝对大小和相对大小首先,要明确两个基本概念。一张网页的全部面积,就是它的绝对大小。通常情况下,网页的绝对大小由内容和CSS样式表决定。网页的相对大小则是指在浏览器窗口中看到的那部分网页,也就是浏览器窗口的大小,又叫做viewport(视口)。下图中央的方框就代表浏览器窗口,每次只能显示一部分网页。(图一网页的绝对大小和相对大小)很显然,如果网页的内容能够在浏览器窗口中全部显示(也就是不出现滚动条),那么网页的绝对大小和相对大小是相等的。二、获取网页的相对大小网. 阅读全文
摘要:
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如:setTimeout(function(){ alert('你好!'); }, 0); setInterval(callbackFunction, 100);认为setTimeout中的问候方法会立即被执行,因为这并不是凭空而说,而是JavaScript API文档明确定义第二个参数意义为隔多少毫秒后,回调方法就会被执行. 这里设成0毫秒,理所当然就立即被执行了.... 阅读全文
摘要:
最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。一、什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:JavaScript中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。看下面 阅读全文
摘要:
Javascript在互联网上名声很臭,但你又很难再找到一个像它这样如此动态、如此被广泛使用、如此根植于我们的生活中的另外一种语言。它的低学习门槛让很多人都称它为学前脚本语言,它另外一个让人嘲笑的东西是动态语言的概念是偏偏使用了高标准的静态数据类型。其实,你和Javascript都站错了立场,而现在,你让Javascript很生气。这里有五个原因能说明你的Javascript技术很烂。1. 你没有使用命名空间。是否还记得在大学里老师告诉你不要在家庭作业里使用全局变量?Javascript里的全局变量的使用方法也不例外。Web网页稍不留神就会变的混乱不堪、到处都是从互联网上各个角落里找来的乱糟糟 阅读全文
摘要:
Javascript是一个类C的语言,他的面向对象的东西相对于C++/Java比较奇怪,但是其的确相当的强大,在Todd 同学的“对象的消息模型”一文中我们已经可以看到一些端倪了。这两天有个前同事总在问我Javascript面向对象的东西,所以,索性写篇文章让他看去吧,这里这篇文章主要想从一个整体的解度来说明一下Javascript的面向对象的编程。(成文比较仓促,应该有不准确或是有误的地方,请大家批评指正)初探我们知道Javascript中的变量定义基本如下:var name = 'Chen Hao';;var email = 'haoel(@)hotmail.com 阅读全文
摘要:
简单的数据类型只有undefined, null, boolean, number和string。typeof(undefined)返回的也是undefined。typeof(null)返回object,但null并非object,具有null值的变量也并非object。typeof(NaN)和typeof(Infinity)都返回Number。NaN参与任何数值计算的结果都是NaN,而且NaN!=NaN,Infinity/Infinity=NaN。JavaScript里“===”表示“全等”,也就是数据值与数据类型都必须相等才是true。如undefined==null、”123”==123 阅读全文
摘要:
在这篇文章中,将比较深入地阐述下执行上下文 - Javascript中最基础也是最重要的一个概念。相信读完这篇文章后,你就会明白javascript引擎内部在执行代码以前到底做了些什么,为什么某些函数以及变量在没有被声明以前就可以被使用,以及它们的最终的值是怎样被定义的。什么是执行上下文Javascript中代码的运行环境分为以下三种:全局级别的代码 - 这个是默认的代码运行环境,一旦代码被载入,引擎最先进入的就是这个环境。函数级别的代码 - 当执行一个函数时,运行函数体中的代码。Eval的代码 - 在Eval函数内运行的代码。在网上可以找到很多阐述作用域的资源,为了使该文便于大家理解,我们可 阅读全文