(两年前本人在CSDN博客上的文章,那边都不维护了,今天顺便转过来)
JavaScript
相信做
web
编程的程序员没有人不熟悉。不管是
.net
还是
JavaEE
,作为前端的重要技术到处都会用到。大学开始学
web
编程的时候,感觉
JavaScript
这个玩意挺神奇的。能用来写一些简单验证,如判断空、邮箱格式判断、用正则表达式去空格等。大家肯定都写过
JS
,但是真正去研究
JS
的人不知道有多少。以我个人经验,我总是能在网上找到答案,并能实现一些想要的功能。但是很惭愧对
JS
这门语言真不能说是特别的了解。
AJAX
的风行,
ext,dwr,jquery
等各种
js
的框架越来越多。
JS
也可以实现面向对象的一些特征。终于还是有必要对这个使用多年脚本做深入学习。
主要内容是看
<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
理解多少,一起来学习吧。
分享到:
相关推荐
本迷你书摘引了《JavaScript语言精髓与编程实践》一书有关语言讨论的关键章节(主要在第三、四、五章),从JavaScript 无关的角度综论这些语言的产生发展,以及特性的概要。作为纯语言学范畴的讨论,读者在本摘引中...
下面是浏览器渲染过程中最关键的几个部分。如果想了解完整的浏览器渲染流程,推荐大家去阅读李兵老师的浏览器工作原理实践,需要付费阅读。后期我也会整理一下再出一篇博客详细介绍浏览器的渲染过程。 JavaScript:...
找到的工具:在查找JavaScript事件键好工具第二天:2018年6月19日几秒钟后,了解了有关CSS过渡和转换,ES6 const关键字和实时UI的信息。第三天:2018年6月20日了解CSS变量并使用JavaScript更新它们第四天:2018年6...
项目主页主要包括:搜索栏目、菜单、时间及新闻、焦点图、课程主要知识介绍、合作企业及网站底部等几个模块。 主要包括HTML、CSS、Javascript、DOM、BOM、AJAX等技术手段,用于解决web开发中的网页布局方面的问题。 ...
用这个方法关键有两点,首先要做一个仿真度尽可能高的tr,还有是要准确的定位,这些请看后面的程序说明。 程序说明 【克隆table】 克隆一个元素用cloneNode就可以了,它有一个bool参数,表示克隆是否包含子节点...
仅使用几个函数,您将学习如何执行以下操作: 从简单事件中声明性地构建复杂事件(例如拖放) 协调和排序多个 Ajax 请求响应数据更改以响应方式更新 UI 消除因忽略取消订阅事件而导致的内存泄漏优雅地传播和处理...
当涉及后端开发时,主要有几个关键技术和概念需要了解,包括服务器端编程语言、数据库管理系统、API 设计、安全性和性能优化等。下面我将给出一个简单的后端开发教程,以及一个相关案例和项目。 后端开发教程 1. ...
1.2.2 PHP擅长的几个领域及产品介绍 5 1.2.3 PHP不适合做什么 6 1.2.4 其他案例 6 1.3 PHP的Hello, world预览 6 1.3.1 第一个PHP程序Hello, world 6 1.3.2 学习PHP应该准备哪些软件 8 1.3.3 相关知识领域的介绍 9 ...
这些是贯穿全书的、在此后的章节中将重点突出的几个主线。这使得你能够在通读全书时把注意力集中在那些对于你非常重要的问题上,而跳过其他章节。学习主线 XML是从一种简单的文档标记语言逐步发展成为涉及范围广泛的...
我们希望本书对你每天的编程工作有很多帮助,并且希望你把本书推荐给你团队中的每个人。本书内容安排这是一本关于如何编写具有高可读性代码的书。本书的关键思想是代码应该写得容易理解。确切地说,使别人用最短的...
该资源包可能包含以下几个关键部分: 1. **项目概述**: 提供系统的详细概述,包括开发背景、目标用户群体(如企业员工、团队领导、IT管理员)、实现的主要功能以及预期的效果。 2. **技术文档**: 详细介绍了使用JSP...
CodeCombat 是一个通过玩游戏来学习编程的网站,也是GitHub上最大的开源CoffeeScript(一种脚本语言,类似JavaScript)项目,构筑在几十个开源项目之上的,有上千程序员和玩家为其编写程序、测试游戏。到目前为止,...
该资源包可能包含以下几个关键部分: 1. **项目概览**: 提供系统的详细概述,包括项目背景、目标用户群体(如教师、学生、教育管理员)、实现的主要功能以及预期的效益。 2. **技术文档**: 详细介绍如何使用JSP技术...
我们的首席设计师曾在多个神经科学实验室工作,我们团队中的每个人都在过去几个月提交了大学应用程序。 因此,您可以说我们对在急性和慢性疲劳下进行手术了解一两件事。 21 小时不睡觉大约相当于 BAC 水平 0.08...
面试可能提问关键的几个函数 Vue对模板的解析 前端File那些事 大厂的第一堂课:完整的git流程 Vue打包优化之路 TypeScript在Vue的实践 算法 消息队列 栈结构 二叉树 选择排序 快速排序 冒泡排序 插入排序 Leetcode ...
导航栏清晰明了,包括首页、目的地、旅游套餐、关于我们、联系我们等几个主要板块,方便用户快速找到所需信息。 在目的地页面,用户可以浏览各个热门旅游目的地的详细介绍、图片和价格等信息。旅游套餐页面则提供了...
第2章-欢迎来到Ionic关于本章在上一章中,我们看到了AngularJS的几个关键功能,即指令和服务。 在本章中,我们将了解移动混合应用程序的概况,设置开发Ionic应用程序所需的软件,最后搭建一些应用程序。 本章涵盖的...