Web开发之JavaScript


Posted in Javascript onMarch 29, 2012

小引
笔者认为web开发包括设计html,javascript,css,以及一种高级语言,比如c#,java等等,本文分为三部分,第一部分为简单介绍javascript,第二部分为理解ECMAscript,最后部分为为javascript基础,所以针对javascript笔者不是很深理解,只能从下面几点对他进行分析,要是不对,请指出,谢谢!主要内容为:

第一部分:

javascript
特点
javascript的实现
ECMAScript标准
javascript的发展

第二部分:

关于 ECMAScript
1、相同的句法
2、面向对象编程
3、函数也是对象
4、对象都有原型
5、数据构造方便
6、JavaScript对象符号(JSON)
7、Fifth Edition

第三部分:
1、javascript语法
2、变量
3、数据类型
4、条件语句
5、循环语句
6、函数
参考

第一部分:
javascript介绍
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择.
特点
是一种脚本编写语言
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。 基于对象的语言。JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
简单性
JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计, 从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。
安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。
动态性的
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
跨平台性
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。
综合
JavaScript 是一种新的描述语言,它可以被箝入到 HTML 的文件之中。 JavaScript语言可以做到回应使用者的需求事件 (如: form 的输入) ,而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端 (server)处理,再传回来的过程,而直接可以被客户端 (client) 的应用程式所处理。
JavaScript 和 Java 很类似,但到底并不一样! Java 是一种比 JavaScript 更复杂许多的程式语言,而 JavaScript 则是相当容易了解的语言。JavaScript 创作者可以不那麽注重程式技巧,所以许多 Java 的特性在 Java Script 中并不支援。
JavaScript实现
核心(ECMAScript)——JavaScript的核心ECMAScript描述了该语言的语法和基本对象
文档对象模型(DOM)——DOM描述了处理网页内容的方法和接口
浏览器对象模型(BOM)——BOM描述了与浏览器进行交互的方法和接口

ECMAScript标准

1997年,欧洲计算机制造商协会(ECMA)在JavaScript语言规范的基础上制定了ECMA-262标准,形成了网页脚本语言的规范。目前各主流浏览器均支持符合 ECMA-262标准的脚本语言。从此,Web浏览器就开始努力(虽然有着不同程度的成功和失败)将ECMAScript作为JavaScript实现的基础。尽管ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的JavaScript实现是由以下3个不同部分组成的:
核心(ECMAScript)——JavaScript的核心ECMAScript描述了该语言的语法和基本对象
文档对象模型(DOM)——DOM描述了处理网页内容的方法和接口
浏览器对象模型(BOM)——BOM描述了与浏览器进行交互的方法和接口
目前所有的主流 Web 浏览器都支持 ECMA-262 第三版,即JavaScript 1.5版本,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升级至JavaScript 2.0的临时代号。
JavaScript的发展趋势

语言永远被当做工具,这一点从来都没有被改变过,以后也不会,语言是使用及和其他技术进行交流的方式和手段。例如,在Windows平台上,使用ADODB组件可以使JavaScript能处理支持SQL的数据库中的数据,使用FSO组件可以实现本地文件IO功能。这一切都说明了JavaScript位于应用开发的最顶端,其与低层技术的实现无关。
尽管平台技术不断发生变化,JavaScript仍将以不变的形式去使用平台提供的能力从而适应新的需求。未来的一段时间内,Web开发将是开发者众聚之地,也是JavaScript变得紫红的时代。

第二部分:

关于 ECMAScript
ECMAScript是ECMA(European Computer Manufacturers Association)制定的标准脚本语言(JAVAScript),目前推荐遵循的是ECMAScript 262(http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM),首先ECMAScript规范描述了脚本编程语言应实现的基本内容如下:语法 ,数据和变量的类型 ,语句 ,关键字 ,保留字 ,运算符 对象。所以符合ECMA-262规范的脚本编程语言必须实现该规范描述的所有的"类型、值、对象、属性、函数和程序语法及语义",并且必须支持Unicode字符标准(UCS)。在此基础上,每个具体实现还可以指定"额外的类型、值、对象、属性和函数",可以定义新的"程序和正则表达式语法"等。
1、相同的句法
首先是相同的句法,ECMAScript与其他流行的开放语言如c#,java,很类似,也就意味着其他语言风格看起来很想在ECMAScript上,比如

for(i = 0; i < a.length; i++) { 
if (a[i] == x) 
return i; 
}

2、面向对象编程
ECMAScript的支持面向对象编程。在ECMAScript对象命名属性的值。对象的属性,函数可以被称为方法。
window.setTitle(user.name);
3、函数也是对象
ECMAScript的功能是对象和属性作为参数传递,可以存储,并作为结果返回。从函数式编程上,让你的函数和方法导入功能从他们的调用者那里得到一个简单而灵活的方式。
var recent = posts.sort(function(a, b) { 
return (a.date > b.date ? -1 : 1); 
}).slice(0, 10);

4、对象都有原型
受到本身程序语言的鼓舞,ECMAScript的对象继承原型对象的属性,基于原型的编程方便容易委托和灵活的覆盖对象的行为。
function Car() { } 
Car.prototype = new Object(); 
Car.prototype.wheels = 4; 
Car.prototype.color = "black"; 
function RaceCar() { } 
RaceCar.prototype = new Car(); 
RaceCar.prototype.color = "red"; 
var vroom = new RaceCar(); 
vroom.wheels // 4 
vroom.color // "red"

5、数据构造方便
ECMAScript中谈到许多常见的数据类型,这样可以节省时间,使你的程序更加易读速记。
Arrays
var digits = [3, 1, 4, 1, 5, 9];
Objects

var img = { width: 320, height:160, src: "images/es.png" };
正则表达式

var email = /([^@]*)@([^@]*)/;
6、JavaScript对象符号(JSON)

JSON是一种流行,轻量级的数据交换格式。 JSON是交互式的网页和网络服务,部分特别有用,因为它的语法是ECMAScript的语法的一个子集。

7、Fifth Edition
欧洲计算机制造商协会最近公布的新的ECMAScript标准第五版的最终候选人草案。一些新的功能包括:
1、提高标准库
2、标准化的JSON库
3、反射的getter和setter方法

第三部分:
1、javascript语法
1.1区分大小写
1.2弱项类型变量
var MyName="Xinzhu";var Age =22;var School="Gxnu";var male=true; 1.3每项结尾分号可有,可无
1.4括号用于代码块

if(myName=="xinzhu"){ 
var age=22; 
alert(age); 
}

1.5javascript注释方式和c语言,java相同
2、变量

通过var关键字声明,如:var boy="xinzhu";这里要注意,首字符是字母,可以是大小写,下划线和$,剩下的可以是下划线,$,任意之母;变量名不可以是关键字或者保留字

3、数据类型
underfined,代表一切不可知的事情,可以将underfined赋值给任何变量或者属性,但是并不意味清除该变量,反而会因此多了一个属性
null,大概有这个概念,但是什么东西都没有
boolean,是和非,用于代码处理和控制代码流程
Number,线性的事物,大小写和次序分明,用于代码进行批量处理,可以控制代码迭代或循环
String,面向人们的理性事物,可以通过人机沟通的信息,代码可以理解人的意图

4、条件语句

比较操作符,逻辑操作符,if语句,switch语句,这些都会很简单不布列
5、循环语句

for, while, 太简单不布列
6、函数
javascript代码只有function一种形式,function就是函数的类型,用于完成一个事件的方法
格式:

function functionName([arg0,arg1,arg2......argN]){ 
statements 
[returm[expression]] 
}

例子:
function sayHello(sName){ 
alert("Hello"+sName); 
} 
sayName(xinzhu);//调用

参考

1、2012年3月编程语言排行榜:JavaScript语言的回归(1) 
2、it公司面试手册
3、Standard ECMA-262:http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
4、ecmascript:http://www.ecmascript.org/index.php
5、《精通JavaScript.jQuery》

Javascript 相关文章推荐
jquery获取input表单值的代码
Apr 19 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
JQuery获取样式中的background-color颜色值的问题
Aug 20 Javascript
JS简单限制textarea内输入字符数量的方法
Oct 14 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
详解ES6之用let声明变量以及let loop机制
Jul 15 Javascript
JavaScript动态绑定详解
Sep 14 Javascript
详解JS数值Number类型
Feb 07 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
Aug 16 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
Dec 17 Javascript
Javascript 解构赋值详情
Nov 17 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
Mar 29 #Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 #Javascript
jQuery 下拉列表 二级联动插件分享
Mar 29 #Javascript
50款非常棒的 jQuery 插件分享
Mar 29 #Javascript
基于jquery完美拖拽,可返回拖动轨迹
Mar 29 #Javascript
Javascript面向对象扩展库代码分享
Mar 27 #Javascript
用Javascript实现Windows任务管理器的代码
Mar 27 #Javascript
You might like
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
PHP5.3新特性小结
2016/02/14 PHP
php四种定界符详解
2017/02/16 PHP
jquery的map与get方法详解
2013/11/04 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
Less 安装及基本用法
2018/05/05 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
centos系统升级python 2.7.3
2014/07/03 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
Python中的引用知识点总结
2019/05/20 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
竞选班干部的演讲稿
2014/04/24 职场文书
2014年班干部工作总结
2014/11/25 职场文书
今日说法观后感
2015/06/08 职场文书