JavaScript入门知识

目录

1.JavaScript是什么?

2.JavaScript与Java的关系?

3.JavaScript 与 ECMAScript 的关系?

4.JavaScript特点?

5.JavaScript语句,代码位置及格式?

6.JavaScript变量?

7.JavaScript数据类型?

(1)基本数据类型

(2)引用数据类型


 

1.JavaScript是什么?

        JavaScript是一种轻量级脚本语言, 所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。

        JavaScript是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。

        JavaScript 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JavaScript 控制这些功能。但是,JavaScript 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。

        JavaScript是一种弱类型语言,在声明变量时不区分数据类型。

        JavaScript 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。

2.JavaScript与Java的关系?

        JavaScript 和 Java是两种不一样的语言,但是彼此存在联系。

        JavaScript 的基本语法和对象体系,是模仿 Java 而设计的。但是,JavaScript 没有采用 Java 的静态类型。正是因为 JavaScript 与 Java 有很大的相似性,所以这门语言才从一开始的 LiveScript 改名为 JavaScript。基本上,JavaScript 这个名字的原意是“很像Java的脚本语言”。

        JavaScript 语言的函数是一种独立的数据类型,以及采用基于原型对象(prototype)的继承链。这是它与 Java 语法最大的两点区别。JavaScript 语法要比 Java 自由得多。

        另外,Java 语言需要编译,而 JavaScript 语言则是运行时由解释器直接执行。

        总之,JavaScript 的原始设计目标是一种小型的、简单的动态语言,与 Java 有足够的相似性,使得使用者(尤其是 Java 程序员)可以快速上手。

3.JavaScript 与 ECMAScript 的关系?

         JavaScript 由 Brendan Eich 发明。它于 1995 年出现在 Netscape 中(该浏览器已停止更新),并于 1997 年被 ECMA(一个标准协会)采纳,发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScriptECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现。

        ECMAScript 只用来标准化 JavaScript 这种语言的基本语法结构,与部署环境相关的标准都由其他标准规定,比如 DOM 的标准就是由 W3C组织(World Wide Web Consortium)制定的。

        ECMA-262 标准后来也被另一个国际标准化组织 ISO(International Organization for Standardization)批准,标准号是 ISO-16262。简单来说ECMA-262 是 JavaScript 标准的官方名称。

4.JavaScript特点?

(1)操控浏览器的能力;

        JavaScript 的发明目的,就是作为浏览器的内置脚本语言,为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供良好的互动体验。目前,全世界几乎所有网页都使用 JavaScript。如果不用,网站的易用性和使用效率将大打折扣,无法成为操作便利、对用户友好的网站。对于一个互联网开发者来说,如果你想提供漂亮的网页、令用户满意的上网体验、各种基于浏览器的便捷功能、前后端之间紧密高效的联系,JavaScript 是必不可少的工具。

(2)广泛的使用领域;

        浏览器的平台化:随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript 可以完成许多以前无法想象的事情。

        Node:Node 项目使得 JavaScript 可以用于开发服务器端的大型项目,网站的前后端都用 JavaScript 开发已经成为了现实。有些嵌入式平台(Raspberry Pi)能够安装 Node,于是 JavaScript 就能为这些平台开发应用程序。

        数据库操作:JavaScript 甚至也可以用来操作数据库。NoSQL 数据库这个概念,本身就是在 JSON(JavaScript Object Notation)格式的基础上诞生的,大部分 NoSQL 数据库允许 JavaScript 直接操作。基于 SQL 语言的开源数据库 PostgreSQL 支持 JavaScript 作为操作语言,可以部分取代 SQL 查询语言。

        移动平台开发:JavaScript 也正在成为手机应用的开发语言。一般来说,安卓平台使用 Java 语言开发,iOS 平台使用 Objective-C 或 Swift 语言开发。许多人正在努力,让 JavaScript 成为各个平台的通用开发语言。PhoneGap 项目就是将 JavaScript 和 HTML5 打包在一个容器之中,使得它能同时在 iOS 和安卓上运行。Facebook 公司的 React Native 项目则是将 JavaScript 写的组件,编译成原生组件,从而使它们具备优秀的性能。Mozilla 基金会的手机操作系统 Firefox OS,更是直接将 JavaScript 作为操作系统的平台语言,但是很可惜这个项目没有成功。

        内嵌脚本语言:越来越多的应用程序,将 JavaScript 作为内嵌的脚本语言,比如 Adobe 公司的著名 PDF 阅读器 Acrobat、Linux 桌面环境 GNOME 3。

        跨平台的桌面应用程序:Chromium OS、Windows 8 等操作系统直接支持 JavaScript 编写应用程序。Mozilla 的 Open Web Apps 项目、Google 的 Chrome App 项目、Github 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、Mac OS 和 Android 等多个桌面平台的程序,不依赖浏览器。

        可以预期,JavaScript 最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中,JavaScript 就是当年 Github 上使用量排名第一的语言。著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”:“所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)

(3)易学性;

        学习环境无处不在:只要有浏览器,就能运行 JavaScript 程序;只要有文本编辑器,就能编写 JavaScript 程序。这意味着,几乎所有电脑都原生提供 JavaScript 学习环境,不用另行安装复杂的 IDE(集成开发环境)和编译器。

        简单性:相比其他脚本语言(比如 Python 或 Ruby),JavaScript 的语法相对简单一些,本身的语法特性并不是特别多。而且,那些语法中的复杂部分,也不是必需要学会。你完全可以只用简单命令,完成大部分的操作。

        与主流语言的相似性:JavaScript 的语法很类似 C/C++ 和 Java,如果学过这些语言(事实上大多数学校都教),JavaScript 的入门会非常容易。必须说明的是,虽然核心语法不难,但是 JavaScript 的复杂性体现在另外两个方面。首先,它涉及大量的外部 API。JavaScript 要发挥作用,必须与其他组件配合,这些外部组件五花八门,数量极其庞大,几乎涉及网络应用的各个方面,掌握它们绝非易事。其次,JavaScript 语言有一些设计缺陷。某些地方相当不合理,另一些地方则会出现怪异的运行结果。学习 JavaScript,很大一部分时间是用来搞清楚哪些地方有陷阱。Douglas Crockford 写过一本有名的书,名字就叫《JavaScript: The Good Parts》,言下之意就是这门语言不好的地方很多,必须写一本书才能讲清楚。另外一些程序员则感到,为了更合理地编写 JavaScript 程序,就不能用 JavaScript 来写,而必须发明新的语言,比如 CoffeeScript、TypeScript、Dart 这些新语言的发明目的,多多少少都有这个因素。尽管如此,目前看来,JavaScript 的地位还是无法动摇。加之,语言标准的快速进化,使得 JavaScript 功能日益增强,而语法缺陷和怪异之处得到了弥补。所以,JavaScript 还是值得学习,况且它的入门真的不难。

(4)强大的性能;

        灵活的语法,表达力强:JavaScript 既支持类似 C 语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(concurrent)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。JavaScript 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。JavaScript 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

        支持编译运行:JavaScript 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JavaScript 都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JavaScript 引擎正在快速发展,性能将越来越好。

此外,还有一种 WebAssembly 格式,它是 JavaScript 引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成 WebAssembly,就可以在浏览器里面运行。

        事件驱动和非阻塞式设计:JavaScript 程序可以采用事件驱动(event-driven)和非阻塞式(non-blocking)设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。

(5)开放性;

        JavaScript 是一种开放的语言。它的标准 ECMA-262 是 ISO 国际标准,写得非常详尽明确;该标准的主要实现(比如 V8 和 SpiderMonkey 引擎)都是开放的,而且质量很高。这保证了这门语言不属于任何公司或个人,不存在版权和专利的问题。语言标准由 TC39 委员会负责制定,该委员会的运作是透明的,所有讨论都是开放的,会议记录都会对外公布。不同公司的 JavaScript 运行环境,兼容性很好,程序不做调整或只做很小的调整,就能在所有浏览器上运行。

5.JavaScript语句,代码位置及格式?

        语句:JavaScript 语句是指向浏览器发出的命令(指令)。语句的作用是告诉浏览器该做什么。

        分号:分号用于分隔 JavaScript 语句。通常我们在每条可执行的语句结尾添加分号。使用分号的另一用处是在一行中编写多条语句。

        代码:JavaScript 代码(或者只有 JavaScript)是 JavaScript 语句的序列。浏览器会按照编写顺序来执行每条语句。

        代码块:JavaScript 语句通过代码块的形式进行组合。块由左花括号开始,由右花括号结束。块的作用是使语句序列一起执行。JavaScript 函数是将语句组合在块中的典型例子。

        代码位置:用<script>标签包裹,一般放在<title>下面,如果有<style>块,则放在<style>下面,或者放在<body>内部的最后面。但是理论上<script>可以出现在页面的任何位置。

        书写格式:适当的空行和缩进;适当的注释;有语义的变量名函数名等(见名知义);一行代码结束加分号等。

        JavaScript 注释可用于提高代码的可读性。JavaScript 不会执行注释。我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。注释分为单行注释与多行注释。单行注释以 // 开头。多行注释以 /* 开始,以 */ 结尾。

        javascript对空格,换行,以及缩进不敏感。

        javascript对大小写敏感。

6.JavaScript变量?

        JavaScript变量是存储信息的容器。

        JavaScript 变量还能保存其他数据类型,比如文本值 (name="Bill Gates")。JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。当您向变量分配文本值时,应该用双引号或单引号包围这个值。当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。

        在 JavaScript 中创建变量通常称为“声明”变量。使用 var 关键词来声明变量。当您声明新变量时,可以使用关键词 "new" 来声明其类型,如:var carname=new String;var y= new Boolean;等。 可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可,如:var name="Gates", age=56, job="CEO";JavaScript 变量均为对象,当您声明一个变量时,就创建了一个新的对象。

        变量命名规则1:变量名只能由英文字母,数字,下划线以及$符号组成,并且数字不能放在名称开头;变量命名规则2:变量的命名不能使用javascript中的关键字和保留字(关键字:已经被javascript内部使用过的。保留字:还没有被javascript内部使用,但是可能有一天会被使用到。)。

        js中的关键字:break,case,catch,continue,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with.

        js中的保留字:abstract,delete,goto,null,throws,as,do,if,package,transient,boolean,double,implements,private,true,break,else,import,protected,try ,byte ,enum,in ,public,typeof ,case ,export ,instanceof,return,use,catch,extends,int,short ,var,char,false,interface,static,void,class,final,is ,super     ,volatile,continue,finally,long,switch ,while,const,float,namespace,synchronized,with ,debugger,for,native ,this,default ,function,new,throw.

7.JavaScript数据类型?

(1)基本数据类型

        数值(number):直接量为 123, -12, 123.4(浮点数);变量为存储了一个number类型的值。

        字符串(string):直接量为 用 '' 或 "" 引用的内容;变量为存储了一个string类型的值。

        布尔(boolean):有true(真)与false(假)两个值。

        null:该类型只有一个null的值,一般情况下,当一个变量在声明时是为了未来存储对象的,那么初值为null,但值得注意的是用typeof检测时结果为“object”。

        underfined:该类型只有一个undefined 值,该值表示变量不含有值,可以通过将变量的值设置为 null 来清空变量。

(2)引用数据类型

        引用数据类型是引用内存地址,其中变量存储的是内存地址。

        Array,Object,Function,Math,Date等均属于引用类型。

       

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值