随笔分类 -  Javascript相关

摘要:1. Javascript的数值类型 《Javascript语言精粹》中有这样一句话:Javascript只有单一的数字类型。 在我看来,这句话说的并不准确,应该说,Javascript在声明时,只有单一的数据类型。或者说,Javascript的所有数值类型都被存储成同一种格式,就是64位的浮点数类型。 这样说比较准确。 这样无论把i换成整数还是浮点数,都会得到Number的结果。但是我说... 阅读全文
posted @ 2010-04-25 21:45 飞林沙 阅读(851) 评论(0) 推荐(0) 编辑
摘要:一. 基础篇1. Javascript学习笔记1——数据类型2. Javascript学习笔记2——函数3. Javascript学习笔记3——作用域4. Javascript学习笔记4——Eval函数 5.Javascript学习笔记5——类和对象 6.Javascript学习... 阅读全文
posted @ 2010-01-18 09:08 飞林沙 阅读(7698) 评论(18) 推荐(14) 编辑
摘要:具体的事情记不清了,某一天下班后听到两个同事在说关于关于事件的问题。 这里简单说下: 很普通的一个按钮,我们要为其添加点击事件,有两种方法: A. B. 我们称A方法为静态绑定,B方法为动态绑定。我们来看A方法,他近乎可等于这样的效果:也就是说,当我们静态绑定一个事件的时候,实际上是系统默认为我们做了一个匿名函数,然后把我们的方法体包于其中。由于这样,就涉及到了this的问题。我们来看这样一段代... 阅读全文
posted @ 2010-01-17 23:24 飞林沙 阅读(1867) 评论(0) 推荐(0) 编辑
摘要:Ajax:Asynchronous Javascript And XML。写个简单的例子: 而在另一个页面写下当前时间,这样就形成了一个钟表。 代码很简单,就是操纵一个XMLHttpRequest对象来获取服务器时间,然后更新时间。上面的代码在与服务器交互时,并没有页面整体刷新,而是局部刷新。 但是上面的代码在request.open时,最后一个参数为false,表示发出的XMLHttpReq... 阅读全文
posted @ 2010-01-17 23:06 飞林沙 阅读(1445) 评论(0) 推荐(0) 编辑
摘要:我们在日常的应用中,使用Javascript大多数时间都是在用DOM ,以致于很多人都有一种看法就是DOM==JS,虽然这种看法是错误的,但是也可以说明DOM的重要性。这就导致了我们在写JS的时候,首先会考虑的是这个方法在页面上会产生什么样的变化之类的问题,用架构的思想来说:我们可以说这样把用户界面和业务逻辑掺杂到了一起。我们也知道,这样对于一个稍大的项目来说,满脑袋都是DIV,都是CSS是做不好... 阅读全文
posted @ 2010-01-16 22:37 飞林沙 阅读(1308) 评论(0) 推荐(0) 编辑
摘要:当我们打开一个网页的时候,浏览器会首先创建一个窗口,这个窗口就是我所知道的window对象,也就是整个Javascript运行所依附的全局变量。 为了加载网页文档,当前窗口又需要创建一个Document对象,然后把打开的网页加载到Document下。网页就是在这个加载的过程中,一边加载一边呈现,所以我们当网速非常慢的时候可以看到,网页从上到下一点点地打开。 当我们用<script src... 阅读全文
posted @ 2010-01-16 00:52 飞林沙 阅读(1915) 评论(0) 推荐(0) 编辑
摘要:在上文中,我利用prototype的原理做了一个封装的New,然后我就想到,我是否可以用prototype的原理进一步封装面向对象的一些基本特征呢?比如继承。好,那就让我们一步步打造,首先让我们来看下继承原本的写法: <script> var Person = function(name, age) { this.name = name; this.age = age; } Perso... 阅读全文
posted @ 2010-01-10 20:43 飞林沙 阅读(1560) 评论(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 飞林沙 阅读(1827) 评论(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 飞林沙 阅读(1946) 评论(8) 推荐(4) 编辑
摘要:首先,不得不说,我无法达到抛开类和对象的概念来看Javascript的境界,对于Javascript是否是面向对象的说法有很多,不过我最认同的还是Javascript是一种“基于prototype的面向对象语言”。 面向对象语言三大特点:继承,多态,封装,这三点虽然Javascript没有提供天然的语法实现,但是我们都可以通过prototype等技巧来实现,因此这种说法似... 阅读全文
posted @ 2010-01-06 23:27 飞林沙 阅读(1835) 评论(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 飞林沙 阅读(1048) 评论(1) 推荐(1) 编辑
摘要:在初学JS的时候就知道这个函数,却一直没有了解过他的用途,也一直都是睁一只眼闭一只眼,这次来深入地了解一下这个函数的作用。eval的作用其实很简单,就是把一段字符串传递给JS解释器,由Javascript解释器将这段字符串解释成Javascript代码,并且执行他。举个最简单的例子: <script type="text/javascript"> eval("alert(1+1)");... 阅读全文
posted @ 2010-01-06 04:34 飞林沙 阅读(2850) 评论(8) 推荐(2) 编辑
摘要:在Javascript中只有五种简单类型,分别为null,undefined,boolean,String和Number.一种复杂类型:object。 代码类型只有一种形式就是function。 undefined:未定义,我们也可称之为不存在,typeof(undefined)=undefined. null:为空。undefined是不存在,而null是存在,但却无。typeof(null)=... 阅读全文
posted @ 2010-01-02 17:49 飞林沙 阅读(2630) 评论(4) 推荐(3) 编辑
摘要:上文一直在罗嗦GOF的原型模式,在本文中讲开始正式讨论Javascript的Prototype。对于Javascript的初学者来说,Prototype是个蛮高深的话题,其实并不尽然。我说不尽然,意思是说理解Prototype的一般用法很简单。但是真正能做到融会贯通理解Prototype确实是件很难的事情。今天我就从Prototype的基本开始讲。上文中我讲了原型模式。其实在Javascript中... 阅读全文
posted @ 2009-01-25 19:41 飞林沙 阅读(1256) 评论(6) 推荐(0) 编辑
摘要:在《Javascript玩转继承(二)》中,我使用了原型继承法来实现Javascript的继承,那原型究竟奥秘何在。在这篇文章中,我就主要针对原型来展开讨论。 抛开Javascript,我们先来看我们熟悉的常规的面向对象语言。在23种设计模式中,大家一定会记得有一种设计模式——原型模式。我们先来看一下结构图: (原图引自:http://terrylee.cnblogs.com/arch... 阅读全文
posted @ 2009-01-25 17:50 飞林沙 阅读(1223) 评论(2) 推荐(0) 编辑
摘要:在前两篇文章中,介绍了构造继承和原型继承。今天把剩下的两种写完,这两种的应用相对于前两种来说应用很少,因此我把他们称为是非主流继承方式。 首先,我们来看非主流继承一:实例继承法。 我也不说那么多废话了,既然是非主流继承,就一定不常用,既然不常用还存在,那就只有一个因素,他用于特定的场合。实例继承法,就主要用于核心对象的继承,也是目前为止唯一能够解决核心对象继承的方式。 核心对象的继承拥有一定的价值... 阅读全文
posted @ 2009-01-23 21:52 飞林沙 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:在《Javascript玩转继承(一)》中,我主要介绍了对象伪装来实现继承。我们在这里先来说一下这种方式的优缺点。 毋庸置疑,这种方式是比较容易理解的,在子类中调用父类的构造函数。另外,这种方法最大的一个优点就是说构造继承可以实现多继承,复习下这个代码: function A() {} function B() {} function C() { this.fath... 阅读全文
posted @ 2009-01-23 20:44 飞林沙 阅读(1190) 评论(0) 推荐(1) 编辑
摘要:最近一直在学Javascript,打算写一些文章,算做自己的学习心得吧,也可以算是学习笔记。没有系统的知识点,太基础的不想写,主要是写一些自己觉得有价值的地方。 今天写第一篇。 Javascript究竟是一门面向对象的语言,还是一门支持对象的语言,我想每个人都有着自己的看法。那些Javascript忠实的Fans一定讲Javascript是一门面向对象的语言,像《Javascript王者归来》... 阅读全文
posted @ 2009-01-23 06:27 飞林沙 阅读(1624) 评论(0) 推荐(0) 编辑
摘要:在《Javascript玩转继承(一)》中,在实现继承的时候,用到了两个很特殊的方法,call和apply,下面,我就来说一下这个两个方法。 在ECMAScript v3中,给Function原型定义了这两个方法,这两个方法的作用都是一样的:使用这两个方法可以像调用其他对象方法一样调用函数,这句话是从书上抄的,至少我是没读明白这是什么意思。 下面说简单易懂的,先看段代码: function Int... 阅读全文
posted @ 2009-01-23 06:21 飞林沙 阅读(2563) 评论(9) 推荐(0) 编辑