JavaScript学习01 语言简介、基本使用和变量声明

JavaScript语言简介、基本使用和变量声明

  JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器、面向对象事件驱动式的网页脚本语言。

  JavaScript的前身叫LiveScript。

JavaScript的作用

  交互式操作;表单验证;

  网页特效;Web游戏;

  服务器脚本开发等。

Java和JavaScript

  知乎上有个回答说:Java和JavaScript的关系就好像雷锋和雷锋塔的关系一样。(…)

  简单比较一下:

1.两种语言的执行方式不一样。

  Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器或解释器实现独立于某个特定平台编译代码的束缚。

  JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,由浏览器解释执行。

  JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。

2.变量不一样。

  Java采用强类型变量检查,所有变量在编译之前必须作声明。

  JavaScript中变量声明,采用其弱类型。

  即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。

3.代码格式不一样。

  Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节码的形式保存在独立的文档中。

  JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。

 

4.静态绑定和动态绑定。

  Java采用静态编译,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查,如不经编译则就无法实现对象引用的检查。

  JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查。

JavaScript基本使用格式

  如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。

  <script> 和 </script> 会告诉 JavaScript 在何处开始和结束。

  <script> 和 </script> 之间的代码行包含了 JavaScript:

<script>
    alert("My First JavaScript");
</script>

  浏览器会解释并执行位于 <script> 和 </script> 之间的 JavaScript。

  那些旧的实例可能会在 <script> 标签中使用 type="text/javascript"。现在已经不必这样做了。JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。

注意:

  1.JavaScript是区分大小写的。

  2.JavaScript可以加分号(也可以不加,但通常是要加的),加了分号后可以多个语句写在同一行(但不推荐写在同一行)。

 

  您可以在 HTML 文档中放入不限数量的脚本。

  脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。

  通常的做法是把函数放入 <head> 部分中,或者放在页面底部。

  这样就可以把它们安置到同一处位置,不会干扰页面的内容。

外部的JavaScript

  也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

  外部 JavaScript 文件的文件扩展名是 .js

  如需使用外部文件,请在 <script> 标签的 "src" 属性中设置该 .js 文件:

  实例:

复制代码
<!DOCTYPE html>
<html>
<body>
<script src="myScript.js"></script>
</body>
</html>
复制代码

  在 <head> 或 <body> 中引用脚本文件都是可以的。实际运行效果与您在 <script> 标签中编写脚本完全一致。

  提示:外部脚本不能包含 <script> 标签。

 

JavaScript变量

1.变量名称

  变量必须以字母$_符号开头(不过我们不推荐使用非字母的符号开头)。

  变量名称对大小写敏感。

 

2.变量数据类型

  JavaScript的数据类型有:字符串、数字、布尔、数组、对象、Null、Undefined

 

字符串文本:

  当您向变量分配文本值时,应该用双引号或单引号包围这个值。

  当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。

数值:

  JavaScript只有一种数字类型,可以带小数点也可以不带。

布尔:

  布尔(逻辑)只能有两个值:true 或 false。

var x=true
var y=false

数组:

  下面的代码创建名为 cars 的数组:

var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";

  或者 (condensed array):

var cars=new Array("Audi","BMW","Volvo");

  或者 (literal array):

var cars=["Audi","BMW","Volvo"];

对象:

  对象由花括号分隔。

  在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。

  属性由逗号分隔:

var person={firstname:"Bill", lastname:"Gates", id:5566};

  上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。

  空格和折行无关紧要。声明可横跨多行:

var person={
firstname : "Bill",
lastname  : "Gates",
id        :  5566
};

  对象属性有两种寻址方式:

name=person.lastname;
name=person["lastname"];

Undefined 和 Null

  Undefined 这个值表示变量不含有值。

  可以通过将变量的值设置为 null 来清空变量。

 

3.变量声明

  JavaScript在声明变量的时候使用var关键字,也可以不用。

Value = undefined

  在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。

  在执行过以下语句后,变量 carname 的值将是 undefined:

var carname;

重新声明 JavaScript 变量

  如果重新声明 JavaScript 变量,该变量的值不会丢失:

  在以下两条语句执行后,变量 carname 的值依然是 "Volvo":

var carname="Volvo";
var carname;

 

JavaScript 拥有动态类型

  这意味着相同的变量可用作不同的类型:

var x                   // x 为 undefined
var x = 6;           // x 为数字
var x = "Bill";      // x 为字符串

声明变量类型

  当您声明新变量时,可以使用关键词 "new" 来声明其类型:

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

  JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

4.全局变量与局部变量

全局变量

  在函数外声明。全局变量可在整个脚本中被使用,可在不同的窗口中相互引用(指定窗口名)。 

局部变量

  在函数内声明。只能在函数内部访问它。

   您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。

  只要函数运行完毕,本地变量就会被删除。

 

  定义在函数外的变量一定是全局变量;

  定义在函数内的变量,如果声明了var,那该变量就是局部变量,如果不声明var,那该变量就是全局变量。

  如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

  这条语句:

carname="Volvo";

  就声明了一个全局变量。

 

JavaScript 变量的生存期

  JavaScript 变量的生命期从它们被声明的时间开始。

  局部变量会在函数运行以后被删除。

  全局变量会在页面关闭后被删除。

JavaScript注释

  单行注释以 // 开头。

  多行注释以 /* 开始,以 */ 结尾。

参考资料

  圣思园张龙老师Java Web视频教程。

  W3School JavaScript教程:http://www.w3school.com.cn/js/index.asp

  英文版:http://www.w3schools.com/js/default.asp

原文地址:https://www.cnblogs.com/liu-Gray/p/4812525.html