现在的位置: 首页 > 综合 > 正文

AJAX学习之序列一:JavaScript关键特征,你了解几个?

2012年12月14日 ⁄ 综合 ⁄ 共 2327字 ⁄ 字号 评论关闭

 

JavaScript

相信做
web

编程的程序员没有人不熟悉。不管是
.net

还是
JavaEE

,作为前端的重要技术到处都会用到。大学开始学
web

编程的时候,感觉
JavaScript

这个玩意挺神奇的。能用来写一些简单验证,如判断空、邮箱格式判断、用正则表达式去空格等。大家肯定都写过
JS

,但是真正去研究
JS

的人不知道有多少。以我个人经验,我总是能在网上找到答案,并能实现一些想要的功能。但是很惭愧对
JS

这门语言真不能说是特别的了解。

AJAX

的风行,
ext,dwr,jquery

等各种
js

的框架越来越多。
JS

也可以实现面向对象的一些特征。终于还是有必要对这个使用多年脚本做深入学习。今天算是
AJAX

基础篇的第一篇,
JavaScript

的关键特征。

主要内容是看
<Ajax in action>

这本书对于
JS

的介绍,同时结合自己的理解。
JavaScript

的主要特征有
(

很关键哦,不知道你理解几条
)


1.
        



弱类型

变量仅仅声明为变量,而不是整数,字符串或者特定类的对象。

Var object

而不是
int a; String b;

经常的变量定义如下
:

var length=10;

var memberId=“abingsky”;

var obj=new Object();

var date = new Date();

var strArr = new Array();

var companyIds=document.getElementById("companyIds").value;

可以从这一点看出来
JavaScript

变量的定义语法有多松散,弹性有多大。对于习惯了
Java


C#

的面向对象的严格类型限制的程序员来说,多少有点不习惯。由于
Javascript

是一种动态解释的,所以在运行时会根据值来正确的解释。

2.
        



动态解释

JS

不需要预先编译。只是存储成文本,在程序运行时由专门的
JS

引擎解释为机器指令。

3.
        



函数是正常的对象

Java

对象的方法与拥有它的对象绑定在一起,只能通过该对象来调用,而
Javascript

的函数可以附加到对象上,使得它们的行为类似于方法。但是它们可以在上下文中调用,并且在运行是附加到其他对象身上。我觉得这也是
JS

语法松散的一个表现,所有的方法可以像变量一样被赋予不同的对象。例如要在页面装载后做一些操作,可以动态的将某一个函数对象赋值给
window.onload.

Window.onload=function

(){

displayDiv=document.getElementById('display');

displayDiv.innerHTML=


Hello,World!

”;


附几种常见对象的定义方式:

普通对象

Var myObject=new Object();

这时候的对象初始化为空,不带有任何属性和方法。可以通过下面方式添加属性和方法:

myObject.shoeSIze=12;

myObject.sayHello=function(){

...

}

数组对象

用中括号括起来

var books=[book1,book2,book3]

JSON


对像

myObject.books={

bestSeller:book1,

cookbook:book2,

spaceFilter:book3

}

4.
        



构造函数、类和
prototype


属性

所有的
Javascript

对象是相同基类的实例。而这个基类就是有能力在运行时将成员字段和函数与自己绑定在一起的类。所以可以在运行时给对象分配任意属性。

Function MyObject(name,size){

this.name=name;

this.size=size;

}

var myObj=new MyObject


”ttt”


122


设置为
this

关键字的属性的任何东西随后都可以作为对象的一个成员使用。
(

任何一个函数都可以通过
new

来调用,而生成的对象的属性关键要看该函数里面对于
this

的调用
)

 

prototype

:定义了将自动绑定在对象上的属性和函数。
Prototype

在一定程度上为程序员提供了面向对象非常想要的规律性和熟悉感。个人感觉是
JavaScript

非常精髓的一个地方。

prototype


JavaScript

对象的一个属性。函数和属性可以与构造函数的
prototype

关联起来。然后
prototype


new

关键字协同工作,当使用
new

调用函数时,函数
prototype

的所以属性和方法会附加到结果对象上。

Function MyObject(name,size){

this.name=name;

this.size=size;

}

MyObject.protype.tellSize=function(){

alert(


size of

”+
this.name+


is


+this.size);

}

prototype

机制也可以与内建类协同工作。
DOM

节点在
IE

不能扩展,但在其他的核心类在所有主要的浏览器中都是可以扩展的。内建类包括
(Array,Object,Date


)

。如可以为
Array

类定义一些有作用的帮助函数:

Array.prototype.indexof=function(obj){

var result=-1;

for(var i=0;i<this.length;i++){

if(this[i]==obj){

result=i;

break;

}

}

return result;

}

这样定义之后
Array

类就有了一个方法
indexof

,和
java

里的基本一样。

 

以上是关于
JavaScript

几个关键特点的理解,可参考
Ajax in action

这本书里面的附录介绍。不知道你对
JavaScript

理解多少,一起来学习吧。

 

抱歉!评论已关闭.