- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]利用JSJQuery构建JAVA EE前端应用组件.doc
一、JavaScript的强大特性
1. JavaScript是现今最流行、应用最广泛的语言之一。
2. JavaScript最强大的特性是其灵活性。你可以采用函数式的编程风格,也可以采用更复杂的面向对象编程风格。那些较为传统的服务器端编程语言具有的面向对象特性,JavaScript都有。
例子:开启和停止一段动画
1)过程式设计方法
function startAnimation(){
? ?
}
function stopAnimation(){
? ?
}
优点?缺点?
2)面向对象的设计方法
/*Animation Class*/
function?Animation?(){
? ?
}
Animation.prototype.start = function(){
? ?
};
Animation.prototype.stop = function(){
????
};
/*usage*/
var myAnim = new Animation();
myAnim.start();
myAnim.stop();
优点?缺点?
另一种写法:
Animation.prototype = {
? ? start: function(){
????},
? ? stop: function(){
????}
};
不同的编码风格在代码篇幅、编码效率和执行性能方面各有特点。
3. JavaScript是弱类型语言
在JavaScript中,定义变量时不必声明其类型,但这并不意味着变量没有类型。一个变量属于哪种类型,完全取决于它当前所包含的数据,它可以根据所赋的值改变类型。
JavaScript有三种原始类型:布尔值、数值型、字符串类型。JavaScript不区分整数与浮点数,他们都属于数值类型。
对象类型和包含可执行代码的函数类型。对象类型是一种复合数据类型,数组是一种特殊的对象。
空类型(null)和未定义类型(undefined)。
html
head
script type=text/javascript
var a = null;
var b;
alert(a : + a);
alert(b : + b);
alert(a == b : + (a == b));
alert(a === b : + (a === b))
/script
/head
body
? ? ? ? /body
/html
4. 函数本身即是对象
在JavaScript中,函数本身即是对象,它们可以存储在变量中,可以作为参数传递给其他函数,也可以作为返回值从其他函数传出,还可以在运行时进行构造。这些特性为JavaScript带来了极大的灵活性和创造性。
1. 创建匿名函数,赋值给变量
var anonymous = function(){
? ? ...
}
匿名函数最有趣的用途就是用来创建闭包。闭包是一个受保护的变量空间,由内嵌函数生成。JavaScript具有函数级的作用域。这意味着定义在函数内部的变量在函数外部是不能被访问的。JavaScript的作用域又是词法性质的。这意味着
函数运行在定义它的作用域中,而不是在调用它的作用域中。把这两个因素结合起来,就能通过把变量包裹在匿名函数中而对其加以保护。
例子:
var baz;
(function(){
? ? var a = 1;
? ? var b = 2;
? ? baz = function(){
????? ? return a + b;
????}
})();
baz();
5. 对象的易变性
在JavaScript中,一切都是对象(除了那三种原始数据类型,布尔型、数值型和字符串型,但即便是这些类型,在必要的时候,也会被自动包装为对象),而且所有的对象都是易变的。
这意味着你能使用一些在大多数别的语言中不允许的技术,例如在函数定义之外为函数添加属性。
/*Class definition*/
function Person(name, age) {
??this.name = name;
??this.age = age;
}
Person.prototype = {
??getName = function(){
牋牋? ?return this.name;
牋牋},
??getAge = function(){
牋牋??return this.age;
牋牋}
};
/*Instantiate the class*/
var alice = new Person(Alice, 12);
var bill = new Person(Bill, 15);
/*Modify the class*/
P
文档评论(0)