摘要: 具体的事情记不清了,某一天下班后听到两个同事在说关于关于事件的问题。 这里简单说下: 很普通的一个按钮,我们要为其添加点击事件,有两种方法: A. B. 我们称A方法为静态绑定,B方法为动态绑定。我们来看A方法,他近乎可等于这样的效果:也就是说,当我们静态绑定一个事件的时候,实际上是系统默认为我们做了一个匿名函数,然后把我们的方法体包于其中。由于这样,就涉及到了this的问题。我们来看这样一段代... 阅读全文
posted @ 2010-01-17 23:24 飞林沙 阅读(1865) 评论(0) 推荐(0) 编辑
摘要: Ajax:Asynchronous Javascript And XML。写个简单的例子: 而在另一个页面写下当前时间,这样就形成了一个钟表。 代码很简单,就是操纵一个XMLHttpRequest对象来获取服务器时间,然后更新时间。上面的代码在与服务器交互时,并没有页面整体刷新,而是局部刷新。 但是上面的代码在request.open时,最后一个参数为false,表示发出的XMLHttpReq... 阅读全文
posted @ 2010-01-17 23:06 飞林沙 阅读(1444) 评论(0) 推荐(0) 编辑
摘要: 我们在日常的应用中,使用Javascript大多数时间都是在用DOM ,以致于很多人都有一种看法就是DOM==JS,虽然这种看法是错误的,但是也可以说明DOM的重要性。这就导致了我们在写JS的时候,首先会考虑的是这个方法在页面上会产生什么样的变化之类的问题,用架构的思想来说:我们可以说这样把用户界面和业务逻辑掺杂到了一起。我们也知道,这样对于一个稍大的项目来说,满脑袋都是DIV,都是CSS是做不好... 阅读全文
posted @ 2010-01-16 22:37 飞林沙 阅读(1307) 评论(0) 推荐(0) 编辑
摘要: 当我们打开一个网页的时候,浏览器会首先创建一个窗口,这个窗口就是我所知道的window对象,也就是整个Javascript运行所依附的全局变量。 为了加载网页文档,当前窗口又需要创建一个Document对象,然后把打开的网页加载到Document下。网页就是在这个加载的过程中,一边加载一边呈现,所以我们当网速非常慢的时候可以看到,网页从上到下一点点地打开。 当我们用<script src... 阅读全文
posted @ 2010-01-16 00:52 飞林沙 阅读(1914) 评论(0) 推荐(0) 编辑
摘要: 上周六,公司进行了一次技术培训,培训的内容无外乎就是常见的一些重构,敏捷开发的观点,当时因为有些事没有去听,但之后听同事说了一些关于培训内容的情况,也看了看培训的大致讲义,其实就是将重构等一些经典书籍的简单汇总,谈了些常识,原则性的东西。那么在这里,我不是反对他的观点,当然,我也没有这样的权利反对,只是语言是最容易产生误会的,我只是纠正同样一句话给人带来的错误认识。1. 代码和注释的关系在培训上,... 阅读全文
posted @ 2010-01-12 01:00 飞林沙 阅读(2696) 评论(31) 推荐(2) 编辑
摘要: 在上文中,我利用prototype的原理做了一个封装的New,然后我就想到,我是否可以用prototype的原理进一步封装面向对象的一些基本特征呢?比如继承。好,那就让我们一步步打造,首先让我们来看下继承原本的写法: <script> var Person = function(name, age) { this.name = name; this.age = age; } Perso... 阅读全文
posted @ 2010-01-10 20:43 飞林沙 阅读(1559) 评论(4) 推荐(1) 编辑
摘要: 在Javascript学习笔记5——类和对象中,我简单地提到了利用JSON去构造一个对象。代码如下: <script type="text/javascript"> var People = { name: "kym", age: 21, SayHello: function () { alert("Hello,My name is &... 阅读全文
posted @ 2010-01-10 16:50 飞林沙 阅读(1826) 评论(1) 推荐(1) 编辑
摘要: 说到prototype,就不得不先说下new的过程。 我们先看看这样一段代码: 很简单的一段代码,我们来看看这个new究竟做了什么?我们可以把new的过程拆分成以下三步:<1> var p={}; 也就是说,初始化一个对象p。<2> p.__proto__=Person.prototype;<3> Person.call(p);也就是说构造p,也可以称之为初... 阅读全文
posted @ 2010-01-09 18:07 飞林沙 阅读(1945) 评论(8) 推荐(4) 编辑
摘要: 首先我们继续上文的代码,我们来把这段代码延伸一下: <script type="text/javascript"> var Person = function (name, age) { this.name = name; this.age = age; this.Introduce = function () { alert("My name is &q... 阅读全文
posted @ 2010-01-08 22:07 飞林沙 阅读(1391) 评论(4) 推荐(2) 编辑
摘要: 首先,不得不说,我无法达到抛开类和对象的概念来看Javascript的境界,对于Javascript是否是面向对象的说法有很多,不过我最认同的还是Javascript是一种“基于prototype的面向对象语言”。 面向对象语言三大特点:继承,多态,封装,这三点虽然Javascript没有提供天然的语法实现,但是我们都可以通过prototype等技巧来实现,因此这种说法似... 阅读全文
posted @ 2010-01-06 23:27 飞林沙 阅读(1834) 评论(6) 推荐(1) 编辑
摘要: 一. 基础篇1. Javascript学习笔记1——数据类型2. Javascript学习笔记2——函数3. Javascript学习笔记3——作用域4. Javascript学习笔记4——Eval函数 5. Javascript学习笔记5——类和对象 6. Javascrip... 阅读全文
posted @ 2010-01-06 12:40 飞林沙 阅读(1047) 评论(1) 推荐(1) 编辑
摘要: 在初学JS的时候就知道这个函数,却一直没有了解过他的用途,也一直都是睁一只眼闭一只眼,这次来深入地了解一下这个函数的作用。eval的作用其实很简单,就是把一段字符串传递给JS解释器,由Javascript解释器将这段字符串解释成Javascript代码,并且执行他。举个最简单的例子: <script type="text/javascript"> eval("alert(1+1)");... 阅读全文
posted @ 2010-01-06 04:34 飞林沙 阅读(2848) 评论(8) 推荐(2) 编辑
摘要: 每个写过程序的人都不会对作用域这个概念陌生,那在这篇文章中就来谈下Javascript的作用域。 在Javascript,全局环境本身就一个对象。在浏览器宿主中这个对象是window,而当Javascript用于其它非浏览器的宿主,如嵌入式的环境中,可能会是其它的对象。 在这里也纠正一个观念,有很多人都认为Javascript只在浏览器中使用,其实Javascript也能在很多非Web情况下使... 阅读全文
posted @ 2010-01-06 01:44 飞林沙 阅读(3132) 评论(19) 推荐(11) 编辑
摘要: 在Javascript中,function才是Javascript的第一型。当我们写下一段函数时,其实不过是建立了一个function类型的实体。 就像我们可以写成这样的形式一样: function Hello() { alert("Hello"); } Hello(); var Hello = function () { alert("Hello");... 阅读全文
posted @ 2010-01-06 00:42 飞林沙 阅读(2010) 评论(9) 推荐(0) 编辑
摘要: 在Javascript中只有五种简单类型,分别为null,undefined,boolean,String和Number.一种复杂类型:object。 代码类型只有一种形式就是function。 undefined:未定义,我们也可称之为不存在,typeof(undefined)=undefined. null:为空。undefined是不存在,而null是存在,但却无。typeof(null)=... 阅读全文
posted @ 2010-01-02 17:49 飞林沙 阅读(2628) 评论(4) 推荐(3) 编辑