JS学习第一天----JS概述

By | 08月04日
Advertisement

JavaScript概述

今天开始正式学习JavaScript(以后简称JS).所谓的JS语言是面向web的编程语言,我们可能接触过面向过程和面向对象的编程语言.为什么要学习JS呢?因为绝大多数现代网站都使用了JS,并且所有的的现代web浏览器----基于桌面系统,游戏机,平板电脑和智能手机的浏览器----均包含了JS解释器,这使得JS能够称得上是史上使用最广泛的编程语言.JS也是前端开发工程师必须掌握的三种技能之一:描述网页内容的HTML,描述网页样式的CSS以及描述网页行为的JS.

JS是一门动态的,弱类型的编程语言,非常适合面向对象和函数式编程的风格.JS的语法源自JAVA(虽说JAVA很火,但是我不喜欢,但是不喜欢能有什么办法呢,忍着吧),JS的一等函数来自于sScheme,它的基于原型的继承来自于Self.但是学习JS不必了解其他语言.

JS和JAVA没有半毛钱的关系,它们两者之间除了语法看起来类似之外,其他的完全不同,JS早已超出了其”脚本语言”本身的范畴,而成为了一种集健壮性,高效性和通用性为一身的编程语言.

JS和JAVA的对比:


JS


JAVA


面向对象的.对象的类型间没有区别.继承是基于原型机制实现的,且属性和方法可以动态的添加到任何对象之上


基于类的.对象被划分为类和实例,且所有的继承是通过类的层级结构实现的.类或者势力不能动态的添加属性或方法


变量的数据类型无需声明(动态化类型)


变量的数据类型必须声明(静态化类型)


不能自动的写入硬盘


不能自动的写入硬盘

JS的历史

JS是由web发展初期的网景(Netscape)公司创建,并将JS首先用于NetScape浏览器中.不过Netscape正在与ECMA International一道致力于交付一个基于核心JS的,标准化的,国际化的编程语言,即ECMAScript(还能再难听点吗).ECMAScript 在所有支持该标准的应用程序中具有相同的特性。其它公司可以使用开放的标准语言来开发它们的 JavaScript 实现。ECMAScript 标准在 ECMA-262 规范中加以记述。

简单说一下JS版本和ECMAScript版本的区别


JS版本


ECMAScript版本


JS1.1


ECMA-262,第一版基于JS1.1


JS1.2


ECMA-262 在 JavaScript 1.2 发布时尚未完成。由于以下原因,JavaScript 1.2 并不与 ECMA-262,第 1 版完全兼容:

1.Netscape 在 JavaScript 1.2 开发了一些新的特性尚未被 ECMA-262 采纳。

2.ECMA-262 添加了两项新特性:基于 Unicode 的国际化,以及跨平台的一致行为。而 JavaScript 1.2 的某些特性,例如 Date 对象,是依赖于平台的,且具有特定于平台的行为。


JS1.3


JavaScript 1.3 完全兼容于 ECMA-262,第 1 版。
JavaScript 1.3 解决了 JavaScript 1.2 与 ECMA-262 之间的不一致性,同时保留了 JavaScript 1.2 中的附加特性,除了 == 和 != 被修改以便顺应于 ECMA-262 之外。


JS1.4


JavaScript 1.4 完全兼容于 ECMA-262,第 1 版。
ECMAScript 规范的第三版在 JavaScript 1.4 发布时尚未最终完成。


JS1.5


JavaScript 1.5 完全兼容于 ECMA-262,第 3 版。

注:ECMA-262,第 2 版仅包含对第 1 版规范的细微的编辑性的改动和错误修正。由 Ecma International 的 TC39 工作组发布的最新版本为 ECMAScript 版本 5.1

.JavaScript 将总会包含某些 ECMAScript 规范中所没有的特性;JavaScript 兼容于 ECMAScript,同时提供附加特性。

avaScript 文档相较于 ECMAScript 规范

ECMAScript 规范了实现 ECMAScript 的一组需求;它有助于您确定某项 JavaScript 特性是否也为其它 ECMAScript 的实现所支持。如果您想编写仅仅使用 ECMAScript 所支持的特性的代码,那么您可能需要参考 ECMAScript 规范。

ECMAScript 文档的目的不在于帮助脚本程序员;关于脚本编写的信息,请参考 JavaScript 文档。

JavaScript 和 ECMAScript 术语

ECMAScript 规范使用的术语和语法对于 JavaScript 程序员而言,可能会有点陌生。尽管对语言的描述方式在 ECMAScript 中可能不尽相同,但是语言本身还是相同的。JavaScript 支持 ECMAScript 规范中所勾勒出的全部功能。

JavaScript 文档描述了语言中适合于 JavaScript 程序员的方面。例如:

1.JavaScript 文档中没有描述全局对象,因为不会直接用到它。全局对象的属性和方法在 JavaScript 文档中被称为顶层函数和属性。

2.JavaScript 文档中没有讨论 Number 和 String 对象的无参(零个参数)构造器,因为几乎不会用到其生成的对象。无参的Number 构造器返回 +0,而无参的 String 构造器返回 "" (空的字符串)。

JS初探

当学习一门新的编程语言时,应当对照树中的示例边学边动手做,反复演练以加深自己的理解.因为,你需要一个JS编译器(实际上叫做解释器).幸运的是,每一个web浏览器都包含一个JS解释器,或许你的电脑上已经不止有一个浏览器(IE,火狐,360,UC,猎豹).

可以通过在HTML文件里写一个<script>标签来嵌入JS代码,当浏览器加载HTML文件的时候,他会自动执行这段代码.如果运行的是一小段JS代码,则不必每次都这样做.我么可以利用Firefox的一个强大的革命性的插件Firebug(可下载使用)来运行这些小段代码,而且如今的web浏览器带有很多开发工具,可以用来调试,实验和学习.通常在浏览器的”工具”菜单中可以看到类似”开发者工具”或者”web控制台”的选项.可以通过按F12键或者Ctrl+Shift+J快捷键来唤醒控制台.控制台工具通常会在浏览器窗口的顶部或底部,有时候也可以单独打开一个窗口.

通过”开发者工具面板”窗口包含了很多选项卡,可以查看HTML文档结构,CSS样式,网络请求等.其中第一个选项卡是”JS控制台”,可以直接输入JS代码并运行出结果.用这种方式来调试JS既简单又实用.

一些现代浏览器有可能实现了一个简单的控制台API.可以通过使用函数console.log()来向控制台输出消息,实用console.log()来做简单的输出演示,通过这种方式可以方便的调试示例代码.同样也可以通过给alert()函数传入一段文本来弹出一个对话框,但这种输出调试信息的方法更具有侵入性.

Similar Posts:

  • JS学习第一课

    <script> function 事件名字(){var 代称=document.getElementById("标签id") 代称.style.css 代称.style.css ...... } </script> 鼠标点击 鼠标放上去 鼠标离开等效果执行事件名字 alert:弹出提示框 alert("内容"); if(条件){结果} else{结果} confirm var 代称=confirm("问题") if(代称

  • 【JS学习笔记】JS基础上:数据类型

    晓石头的博客 邮箱:178673693@qq.com 转载请注明出处,原文链接:http://blog.csdn.net/qiulanzhu/article/details/50544482 index.html -------------------------------- <!DOCTYPE HEML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta h

  • js学习笔记——客户端js学习要点

    前面简单总结了js的基本语法,其实js语法和java.C语言语法有很多的相同之处: 接下来将总结js在WEB浏览器中的运用,这部门将要了解的内容有: 1.脚本化浏览窗口:js如何脚本化浏览器窗口,如:打开关闭.显示对话框.载入指定url的窗口等客户端js功能: 2.脚本化文档:js如何显示web窗口的文档内容交互.如何查询.插入.删除.更改内容: 3.js和css之间的交互,js如何通过脚本化css样式.类和样式表单来改变一个文档的表现:组合脚本化和css的一个特殊的强化结果就是动态html:

  • Struts2框架学习第一章——Struts2概述

    本章要点 - Web应用的发展 - Model 1和Model 2 - MVC思想 - MVC模式的优势 - 常用MVC框架及其特征 - Struts 1的基本结构及其存在的问题 - WebWork的基本结构 - Struts 2的起源 - Struts 2的框架架构 - Struts 2的标签库 - Struts 2的控制器组件 - Struts 1和Struts 2的对比 Struts 1是全世界第一个发布的MVC框架,它由Craig McClanahan在2001年发布,该框架一经推出,就

  • JS学习之道:JS中的prototype的含义

    我们知道JScript中对象的prototype属性,是用来返回对象类型原型的引用的.我们使用prototype属性提供对象的类的一组基本功能.并且对象的新实例会"继承"赋予该对象原型的操作.但是这个prototype到底是怎么实现和被管理的呢? 对于对象的prototype属性的说明,JScript手册上如是说:所有JScript内部对象都有只读的prototype属性.可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型.然而,用户定义的对象可以被赋给新的原型.

  • Node.js学习1-创建第一个应用

    Node.js 创建第一个应用 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理. 不过对 Node.js 来说,概念完全不一样了.使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器.事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的. 在我

  • html5游戏引擎-Pharse.js学习笔记(一)

    1.前言 前几天随着flappy bird这样的小游戏的火爆,使我这种也曾了解过html5技术的js业余爱好者也开始关注游戏开发.研究过两个个比较成熟的html5游戏引擎,感觉用引擎还是要方便一些.所以决定从今天正式开始研究html5游戏引擎,并且将从看官网demo的学习整理成博客和大家一起分享. 我了解过cocos-2d for html5和phaser.js这两个引擎,其中前者比较复杂,对于有过cocos-2d平台开发经验的人来说可能学习的较为容易一些,如果是纯入门汉又不想研究c++版本(因

  • Node.js学习教程之二:node.js的HelloWorld

    在Node.js学习教程之一中,已经成功的搭建了Node.js的运行环境,我们现在开始编写第一个程序"Hello World". 第一步:理论 Node.js运行环境实质上是建立一个Web服务器,当客户请求服务器资源时,服务器响应一个HTTP请求,并返回相关资源或数据信息. 第二步:编码 (1).在任意文件夹中,创建app文件夹,同时在文件夹中创建app.js的Node.js文件,用任意编辑器打开app.js,输入如下Node.js代码并保存退出. var http = require

  • 在windows上安装新版node.js-node.js学习笔记(转)

    在windows上安装新版node.js-node.js学习笔记 今晚,我试图在Windows上安装Node.js的,但没有找到任何简单的文档.原因是每一个新版本的Node.js有多种方式可以设置.例如,旧版本需要的Cygwin和一些人使用.exe文件.这些方法都不是最优的,所以我写了一个教程如何安装Node.js的自己的Windows和测试在6个步骤,不到10分钟的时间.(Current version: v0.8.12) Windows安装指南 要在Windows上安装Node.js的是很容

  • Bootstrap学习笔记之js组件(4)

    这次我们来看下js组件的使用,本篇文章会有点长,希望大家可以耐心看,相信收获会有不少.不少园友加我好友,表示喜欢我写文字的风格,简单明了,这里,再次谢谢你们的支持.一方面,自身技术有限,写的东西都比较基础,另一方面,写的东西,都是根据自己的理解,把复杂的东西用最简单的语言表达出来.所以,写的有不对的地方,麻烦各位给予指正哈. 一.js文件引用 注意点:jquery必须在在其它js文件之前引入,因为其它插件都是依赖于jquery. <!--<script src="js/jquery-

Tags: