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

JavaScript学习01 语言简介、基本使用和变量声明的更多相关文章

  1. 学习go语言编程系列之定义变量

    package main import ( "fmt" "math") func main() { // 1. 定义变量名age,不初始化,使用对应类型的默认值 ...

  2. JavaScript学习笔记-基础语法、类型、变量

    基础语法.类型.变量   非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或 ...

  3. C/C++学习----C语言简介

    [开发环境] 物理机版本:Win 7 旗舰版(64位) IDE版本:Visual Studio 2013简体中文旗舰版(cn_visual_studio_ultimate_2013_with_upda ...

  4. Scala - 快速学习01 - Scala简介

    Scala简介 Scala(Scalable Language)是一门多范式(multi-paradigm)编程语言,Scala的设计吸收借鉴了许多种编程语言的思想,具备面向对象编程.函数式编程等特性 ...

  5. JavaScript学习笔记--语言工具的了解

    基础学习,快速入门资料:网站 https://www.liaoxuefeng.com ,http://www.runoob.com/js/js-tutorial.html 笔记: 编程工具:SubLi ...

  6. JavaScript学习01(js概述)

    JavaScript概述 JavaScript历史 要了解JavaScript,我们首先要了解一下JavaScript的诞生. 在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成 ...

  7. javascript学习01

    1/js 中所有的数字都是浮点型,所以5/2=2.5    6.5%2.1=0.2 2/delete用于删除对象的属性或者是数组元素: var o={x=1,y=2}:delete o.x;  x i ...

  8. JavaScript学习笔记(一)——数据类型和变量

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  9. 廖雪峰JavaScript学习笔记(基础及数据类型、变量)

    先睹为快 alert('我要学JavaScript!'); Run: 基本语法: 1.每个语句以;结束,不强制 2.语句块用{...} 3.//单行注释,/*...*/ 多行注释 数据类型: 1.不区 ...

随机推荐

  1. Winform(C#.NET)自动更新组件的使用及部分功能实现

    声明:核心功能的实现是由园子里圣殿骑士大哥写的,本人是基于他核心代码,按照自己需求进行修改的.   而AutoUpdaterService.xml文件生成工具是基于评论#215楼 ptangbao的代 ...

  2. [SDK2.2]Windows Azure Virtual Network (4) 创建Web Server 001并添加至Virtual Network

    <Windows Azure Platform 系列文章目录> 在上一章内容中,笔者已经介绍了以下两个内容: 1.创建Virtual Network,并且设置了IP range 2.创建A ...

  3. JavaScript客户端MVC 框架综述

    简介 15 年前,许多人都使用 Perl 和 ColdFusion 之类的工具构建网站.我们经常编写可以在页面顶部查询数据库的脚本,对数据应用必要的转换,以及在同一个脚本底部显示数据.这类架构适合于向 ...

  4. 局部页面传值Model

    1:新建个局部页面,将这里页面的Model数据传递过去,在局部页面进行和一般页面一样的操作就行. 这里和HTML.Action不一样,对于HTML.action来说,它是新建了一个action来进行传 ...

  5. PHPcms 系统简单使用

    1.站点/发布点的新建 1.1 发布点的新建: 发布点是设置站点与服务器之间的链接配置. 设置 - 发布点管理 - 添加发布点 发布点名:可以与接下来的站点名称相同 ftp服务器:用于设置PHPcms ...

  6. Android SDK Android NDK Android Studio 官方下载地址

    2016.12 Android Studio Windows Includes Android SDK https://dl.google.com/dl/android/studio/install/ ...

  7. C# Winform MD5加密学习积累

    string password = txtPassword.Text.Trim(); byte[] result = Encoding.Default.GetBytes(password); MD5 ...

  8. 同样的MVC,不同的实现方法(Spring MVC .Net MVC)

    由于工作需要,最近将Net的MVC又重新好好的学习了一遍.学习教材是博客园里的大神的作品<ASP.NET MVC5框架揭秘>. <ASP.NET MVC5框架揭秘>这本书,说了 ...

  9. Android使用SAX解析XML(3)

    主界面MainActivity.java: package com.hzhi.my_sax; import java.util.ArrayList; import android.os.Bundle; ...

  10. ubuntu下golang环境配置

    安装go 可以到Golang中国下载go的安装包 解压安装包tar -C /usr/local -xzf <安装包> 添加环境变量`export PATH=$PATH:/usr/local ...