JavaScript基础:JavaScript简介
2016-06-23 22:29
316 查看
一、JavaScript简介
JavaScript 诞生于 1995 年。它当时的目的是为了验证表单输入的验证
。因为在 JavaScript问世之前,表单的验证都是通过服务器端验证的 。而当时都是电话拨号上网的年代 ,服务器验证数据是一件非常痛苦的事情。经过许多年的发展,JavaScript 从一个简单的输入验证成为一门强大的编程语言
。所以,学会使用它是非常简单的 ,而真正掌握它则需要很漫长的时间 。JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言
。因为他不需要在一个语言环境下运行,而只需要支持它的浏览器即可。它的主要目的是,验证发往服务器端的数据、增加 Web互动、加强用户体验度等。
JavaScript 特点
1.松散性
JavaScript 语言核心与 C、C++、Java 相似,比如条件判断、循环、运算符等。但,它却是一种松散类型的语言,也就是说,它的变量不必具有一个明确的类型。
2.对象属性
JavaScript 中的对象把属性名映射为任意的属性值。它的这种方式很像哈希表或关联数组,而不像 C 中的结构体或者 C++、Java 中的对象。
3.继承机制
JavaScript 中的面向对象继承机制是基于原型的,这和另外一种不太为人所知的 Self 语言很像,而和 C++以及 Java 中的继承大不相同。
JavaScript 核心
虽然 JavaScript 和 ECMAScript 通常被人们用来表达相同的含义,但 JavaScript 的含义却比 ECMA-262 中规定的要多得多。一个完整的 JavaScript 应该由下列三个不同的部分组成
。
1.核心(ECMAScript)
由 ECMAScript-262 定义的 ECMAScript 与 Web浏览器没有依赖关系。ECMAScript 定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。我们常见的 Web浏览器只是 ECMAScript 实现可能的宿主环境之一。
既然他不依赖于 Web 浏览器,那么他还在哪些环境中寄宿呢?比如: ActionScript、ScriptEase 等。而他的组成部分有:语法、类型、语句、关键字、保留字、操作符、对象等。
2.文档对象模型 (DOM)
文档对象模型(DOM,Document
Object Model)是针对 XML 但经过扩展用于 HTML 的应用程序编程接口(API,Application
Programming Interface)。
DOM 有三个级别,每个级别都会新增很多内容模块和标准 (有兴趣可以搜索查询)。
3.浏览器对象模型 (BOM)
访问和操作浏览器窗口的浏览器对象模型 (BOM,Browser
Object Model)。开发人员使用 BOM 可以控制浏览器显示页面以外的部分
。而 BOM 真正与众不同的地方 (也是经常会导致问题的地方),还是它作为 JavaScript 实现的一部分,至今仍没有相关的标准。
二、JavaScript的简单使用
方法一:嵌入
<script>xxx</script>这组标签,是用于在html页面中插入js的主要方法。
方法二:引用.js;
一般来说,JS代码越来越庞大的时候,我们最好把他另存为一个.js文件,通过src引入即可。它还具有维护性高、可缓存(加载一次,无需加载)、方便未来扩展的特点。
主要属性:
1.charset:可选。表示通过src属性指定的字符集。由于大多数浏览器忽略它,所以很少有人用它。
2.defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行
。由于大多数浏览器不支持,故很少用。
3.language:已废弃。原来用于代码使用的脚本语言。由于大多数浏览器忽略它,所以不要用了。
4.src:可选。表示包含要执行代码的外部文件。
5.type:必需。可以看作是language的替代品。表示代码使用的脚本语言的内容类型
。范例:type="text/javascript"。
三、数据类型
ECMAScript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。
ECMAScript不支持任何创建自定义类型的机制,所有值都成为以上6中数据类型之一。
1.Undefined类型
Undefined类型只有一个值,即特殊的undefined。
在使用var声明变量,但没有对其初始化时,这个变量的值就是undefined。
2.Null类型
Null类型是一个只有一个值的数据类型,即特殊的值null。它表示一个空对象引用(指针),而typeof操作符检测null会返回object。
var box = null;
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null。这样,当检查null值就知道是否已经变量是否已经分配了对象引用了。
3.Boolean类型
Boolean类型有两个值(字面量):true和false。而true不一定等于1,false不一定等于0。JavaScript是区分大小写的,True和False或者其他都不是Boolean类型的值。
4.Number类型
Number类型包含两种数值:整型和浮点型。为了支持各种数值类型,ECMA-262定义了不同的数值字面量格式。
由于保存浮点数值需要的内存空间比整型数值大两倍,因此ECMAScript会自动将可以转换为整型的浮点数值转成为整型。
如果超过了浮点数值范围的最大值或最小值,那么就先出现Infinity(正无穷)或者-Infinity(负无穷)。
NaN,即非数值(Not
a Number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。
5.String类型
String 类型用于表示由于零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。
ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
var box = 'Mr.';
box = box + ' Lee';
6.Object类型
ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。
var box = new Object();
JavaScript 诞生于 1995 年。它当时的目的是为了验证表单输入的验证
。因为在 JavaScript问世之前,表单的验证都是通过服务器端验证的 。而当时都是电话拨号上网的年代 ,服务器验证数据是一件非常痛苦的事情。经过许多年的发展,JavaScript 从一个简单的输入验证成为一门强大的编程语言
。所以,学会使用它是非常简单的 ,而真正掌握它则需要很漫长的时间 。JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言
。因为他不需要在一个语言环境下运行,而只需要支持它的浏览器即可。它的主要目的是,验证发往服务器端的数据、增加 Web互动、加强用户体验度等。
JavaScript 特点
1.松散性
JavaScript 语言核心与 C、C++、Java 相似,比如条件判断、循环、运算符等。但,它却是一种松散类型的语言,也就是说,它的变量不必具有一个明确的类型。
2.对象属性
JavaScript 中的对象把属性名映射为任意的属性值。它的这种方式很像哈希表或关联数组,而不像 C 中的结构体或者 C++、Java 中的对象。
3.继承机制
JavaScript 中的面向对象继承机制是基于原型的,这和另外一种不太为人所知的 Self 语言很像,而和 C++以及 Java 中的继承大不相同。
JavaScript 核心
虽然 JavaScript 和 ECMAScript 通常被人们用来表达相同的含义,但 JavaScript 的含义却比 ECMA-262 中规定的要多得多。一个完整的 JavaScript 应该由下列三个不同的部分组成
。
1.核心(ECMAScript)
由 ECMAScript-262 定义的 ECMAScript 与 Web浏览器没有依赖关系。ECMAScript 定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。我们常见的 Web浏览器只是 ECMAScript 实现可能的宿主环境之一。
既然他不依赖于 Web 浏览器,那么他还在哪些环境中寄宿呢?比如: ActionScript、ScriptEase 等。而他的组成部分有:语法、类型、语句、关键字、保留字、操作符、对象等。
2.文档对象模型 (DOM)
文档对象模型(DOM,Document
Object Model)是针对 XML 但经过扩展用于 HTML 的应用程序编程接口(API,Application
Programming Interface)。
DOM 有三个级别,每个级别都会新增很多内容模块和标准 (有兴趣可以搜索查询)。
3.浏览器对象模型 (BOM)
访问和操作浏览器窗口的浏览器对象模型 (BOM,Browser
Object Model)。开发人员使用 BOM 可以控制浏览器显示页面以外的部分
。而 BOM 真正与众不同的地方 (也是经常会导致问题的地方),还是它作为 JavaScript 实现的一部分,至今仍没有相关的标准。
二、JavaScript的简单使用
方法一:嵌入
<script type = "text/javascript"> alert('欢迎来到 JavaScript 世界!'); </script>
<script>xxx</script>这组标签,是用于在html页面中插入js的主要方法。
方法二:引用.js;
<script type="text/javascript" src="demo1.js"></script>
一般来说,JS代码越来越庞大的时候,我们最好把他另存为一个.js文件,通过src引入即可。它还具有维护性高、可缓存(加载一次,无需加载)、方便未来扩展的特点。
主要属性:
1.charset:可选。表示通过src属性指定的字符集。由于大多数浏览器忽略它,所以很少有人用它。
2.defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行
。由于大多数浏览器不支持,故很少用。
3.language:已废弃。原来用于代码使用的脚本语言。由于大多数浏览器忽略它,所以不要用了。
4.src:可选。表示包含要执行代码的外部文件。
5.type:必需。可以看作是language的替代品。表示代码使用的脚本语言的内容类型
。范例:type="text/javascript"。
三、数据类型
ECMAScript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。
ECMAScript不支持任何创建自定义类型的机制,所有值都成为以上6中数据类型之一。
1.Undefined类型
Undefined类型只有一个值,即特殊的undefined。
在使用var声明变量,但没有对其初始化时,这个变量的值就是undefined。
2.Null类型
Null类型是一个只有一个值的数据类型,即特殊的值null。它表示一个空对象引用(指针),而typeof操作符检测null会返回object。
var box = null;
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null。这样,当检查null值就知道是否已经变量是否已经分配了对象引用了。
3.Boolean类型
Boolean类型有两个值(字面量):true和false。而true不一定等于1,false不一定等于0。JavaScript是区分大小写的,True和False或者其他都不是Boolean类型的值。
4.Number类型
Number类型包含两种数值:整型和浮点型。为了支持各种数值类型,ECMA-262定义了不同的数值字面量格式。
由于保存浮点数值需要的内存空间比整型数值大两倍,因此ECMAScript会自动将可以转换为整型的浮点数值转成为整型。
如果超过了浮点数值范围的最大值或最小值,那么就先出现Infinity(正无穷)或者-Infinity(负无穷)。
NaN,即非数值(Not
a Number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。
5.String类型
String 类型用于表示由于零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。
ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
var box = 'Mr.';
box = box + ' Lee';
6.Object类型
ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。
var box = new Object();
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享