(两年前本人在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语言案例介绍.zip"包含了几个文件,似乎旨在帮助我们理解JavaScript的实际运用和概念。 首先,"JavaScript????\"可能是一个目录,用于存放与JavaScript相关的文件,包括示例代码、文档等。在...
JavaScript,一种广泛应用于Web开发的脚本语言...在学习过程中,不断实践和解决问题是提升的关键,同时关注社区动态,了解最新的JavaScript发展和技术趋势,这样你就能保持与时俱进,成为一名出色的JavaScript开发者。
在JavaScript客户端编码中,有几个关键知识点: 1. **DOM操作**:JavaScript可以操作文档对象模型(DOM),改变HTML元素、属性、样式,甚至添加或删除元素。例如,`document.getElementById()`、`document....
在JavaScript的学习中,了解和掌握以下几个关键知识点至关重要: 1. **基础语法**:包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔、数组、对象)、运算符(算术、比较、逻辑、三元)、流程控制...
首先,了解JavaScript的基础至关重要。JavaScript语法与Java有相似之处,但两者并不相同。JavaScript主要用于浏览器端,而Java则更多用于服务器端。在学习资料中,你需要掌握变量、数据类型、控制结构(如条件语句和...
初学者在开始学习JavaScript时,通常需要了解以下几个重要知识点: 1. JavaScript基础语法:包括变量声明、数据类型、运算符、控制结构(if...else语句,switch语句,循环语句等)、函数的定义与使用等。 2. DOM...
"几个JavaScript特效实例(超经典哦)"这个主题包含了多个JavaScript在实际应用中的示例,特别是针对表单验证的各种经典实例。 1. **JavaScript表单验证**:在Web开发中,表单验证是必不可少的一环,它可以确保用户...
精通JavaScript意味着要深入理解以下几个关键概念: 1. **基础语法**:JavaScript的基础包括变量(var、let、const)、数据类型(基本类型:number、string、boolean、null、undefined,复杂类型:object、array、...
这个压缩包包含了几个关键的学习资源,帮助我们深入理解和掌握JavaScript API的应用。 首先,"JavaScript使用手册.chm" 是一份详尽的JavaScript参考文档,可能包含了JavaScript语法、内置对象、函数、DOM操作以及...
五子棋的游戏逻辑相对简单但严谨,主要包括以下几个方面: 1. 棋盘初始化:设置棋盘大小、绘制棋盘网格。 2. 棋子放置:根据用户点击位置判断是否可以在此下棋,如果合法则放置棋子并更新棋盘状态。 3. 游戏规则检查...
在描述中提到的几个特效类别,都是JavaScript在网页动态效果中的常见应用场景: 1. **文字特效**:JavaScript可以实现文字的动画展示,如滚动字幕、闪烁文本、渐显渐隐等,增强网页交互性。通过操作DOM(文档对象...
在打飞机游戏中,JavaScript主要负责以下几个关键功能: 1. 游戏初始化:游戏开始时,JavaScript会创建飞机和敌机对象,设置它们的位置和状态,并初始化分数等变量。 2. 事件处理:通过监听用户的键盘输入,...
在JavaScript备课中,你需要掌握以下几个关键知识点: 1. **基础语法**:了解变量声明(var、let、const)、数据类型(字符串、数字、布尔、null、undefined、对象、数组、Symbol、BigInt)以及运算符的使用。 2. ...
在JavaScript1.5中,有几个关键的知识点值得一提: 1. **变量声明**:在JavaScript1.5中,`var`关键字用于声明变量,但与后来的版本不同,它没有块级作用域,而是函数作用域。这意味着变量在函数内部声明,可以在...
这份文档可能包含以下几个核心部分: 1. **基础语法**:JavaScript的基础包括变量、数据类型(如字符串、数字、布尔值、null和undefined)、操作符(算术、比较、逻辑)、流程控制(条件语句、循环)以及函数定义和...
在JavaScript的学习过程中,以下几个核心知识点是必不可少的: 1. **基础语法**:包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组、函数等)、运算符(算术、...
JavaScript高级编程通常涉及以下几个关键知识点: 1. **基础语法**:包括变量声明(var, let, const)、数据类型(基本类型与引用类型)、运算符、流程控制(条件语句、循环语句)、函数以及作用域等。 2. **面向...
在这些经典小例子中,你可能会看到以下几个常见的JavaScript知识点: 1. **变量和数据类型**:JavaScript支持多种数据类型,包括字符串、数字、布尔值、null、undefined、对象和符号。了解如何声明、赋值和操作变量...
在深入学习JavaScript时,有几个核心概念需要理解: 1. 变量与数据类型:JavaScript支持动态数据类型,意味着变量可以在运行时改变其数据类型。基本数据类型包括字符串、数字、布尔值、null、undefined、symbol...
课件内容可能包括以下几个方面: 1. **基础语法**:JavaScript的基础语法是学习的起点,包括变量声明(var, let, const)、数据类型(字符串、数字、布尔、null、undefined、对象、数组)、运算符(算术、比较、...