Professional Documents
Culture Documents
0 与 JS 开发
深圳 .NET 俱乐部
THIN
1
THIN(http://thinhunan.cnblogs.com)
内容介绍
程序员创业--从象棋说起
2005年的两个名词--“超女”、
“ Web2.0”
Web2.0 时代的 JS 开发( 1 )--
OOJS
2
THIN(http://thinhunan.cnblogs.com)
内容介绍
Web2.0 时代的 JS 开发( 2 )--
DOM
Web2.0 时代的 JS 开发( 3 )--
AJAX 基础 (XMLHTTP)
3
THIN(http://thinhunan.cnblogs.com)
中国象棋中的奥秘
中国象棋中的棋子,可以用来解读我们所处
的职场
不同的棋子代表不同的角色
“ 被限制的兵卒”
“ 通天本领的车马”
“ 看似无能,实为关键的将帅”
何为“兵卒”所为?
何为“车马”所为?
何为“将帅”所为--我现无资格讲叙此级
4
THIN(http://thinhunan.cnblogs.com)
程序员职场出路
我们应有创业激情
我们为什么要创业--不愿被限制,不
愿老为他人做嫁衣
我们怎么创业?
5
THIN(http://thinhunan.cnblogs.com)
“ 超女”、“博客”、“维客
”……
何为Web2.0 的核心概念
众人拾柴火焰高
新的模式孕育新的商机
新的模式提供成本最低的创业机会
6
THIN(http://thinhunan.cnblogs.com)
Web2.0 为我们提供了一个新的舞台
Web2.0 的技术门槛
AJAX ,让我们不得不重新审视
JavaScript 的重要性
大量 JavaScript 的使用,使我们不得不
重新考虑脚本的工程化组织,基于
JavaScript 的基于对象特性,根据 OO 思
想开发可复用的 JavaScript 代码
7
THIN(http://thinhunan.cnblogs.com)
定义一个类
使用 function 关键字来定义
function ClassName()
{
……
}
8
THIN(http://thinhunan.cnblogs.com)
定义属性
1. 实例属性
function ClassName()
{
this.PropertyName;// 只能通过实例访问
}
2. 原型属性
ClassName.protetype.PropertyName = value;
// 可通过实例 ( 解释器自动复制给实例 ) 和原型 (prototype) 访问 ,
改变实
例的从类定义获得的属性的值不会影响类的原型属性值和其它该类
的实例的该原型属性的值,改变类原型的静态属性值将改变所有该
类实例的该属性的值。
3. 静态属性
ClassName.PropertyName = value;// 只能通过类名访问
9
THIN(http://thinhunan.cnblogs.com)
定义一个方法
定义方法和属性一样可以用三种方式定义,
其区别和属性一样
需使用 function 关键字
function ClassName()
{
this.FunctionName = function()
{
……
}
}
10
THIN(http://thinhunan.cnblogs.com)
定义一个方法
定义实例方法时,this 不能随便省略
三种方法定义的类的方法,其中的 this
指针是不同的,前两种都可以指向类的
实例,最后一种不能。
11
THIN(http://thinhunan.cnblogs.com)
继承
用 prototype 实现
SubClass.prototype = new BaseClass();
//new BaseClass; 也行
SubClass.constructor = SubClass ;
// 这样可能还不能使子类实例通过
constructor 得到正确的类 , 最好在定义
时, this.constuctor = SubClass;
父类的 constructor 在子类的
constructor 之前调用
DOM 对象 instanceOf Object = false;
typeof constructor
THIN(http://thinhunan.cnblogs.com)
= ‘undefined’; 12
重载
同样是通过 prototype 来实现
NewClass.prototype.toString = function()
{ return “Hello world!”; }// 重载了
Object 的 toString 方法
重载时,一般要全部重新实现方法的功
能,如果要调用父类的方法实现,可实
现一个父类的实例,再调用这个实例的
方法
13
THIN(http://thinhunan.cnblogs.com)
重载 ( 有版本要求 )
要实现对父类实现的调用
SubClass.prototype.Function=function(arg
s){
BaseClass.prototype.Function.call(this,arg
s);
//do something… }
在 NS 中可以用 __proto__ 返回父类原型 14
, this._proto__ 相当于 C #的 base
THIN(http://thinhunan.cnblogs.com)
访问限制
Javascript 提供了对象中的 private 和
public ,但是并不提供显式声明,在类
内部函数中定义的函数和变量都是私有
变量,通过 this.XXX 定义的都是 public
实现的,通过 object.prototype.name 实
现的也是 public, 在类函数中的函数可以
访问那些私有变量和函数,通过
object.prototype.name 那样实现的方法是
无法访问私有变量和方法的。
15
THIN(http://thinhunan.cnblogs.com)
其他信息
Web2.0 时代的 JS 开发( 2 )-- DOM
Web2.0 时代的 JS 开发( 3 )-- AJAX
基础 (XMLHTTP)
MSN:thin37421@hotmail.com
http://thinhunan.cnblogs.com
http://shenzhen.cnblogs.com/
16
THIN(http://thinhunan.cnblogs.com)