【前端系列教程之JavaScript】01_JavaScript概述和引入方式

JavaScript概述

JavaScript可以做什么

页面的各种动画效果

页面的点击/移入响应

对客户端数据进行验证

各种页面小游戏

用途总结

嵌入动态文本于HTML页面。

对浏览器事件做出响应(对于用户的操作给予响应)。

读写HTML元素。

在数据被提交到服务器之前验证数据(客户端数据校验)。

检测访客的浏览器信息。

控制cookies,包括创建和修改等。

基于Node.js技术进行服务器端编程。

JavaScript 发展到现在几乎无所不能。
1. 网页特效

2. 服务端开发(Node.js)

3. 命令行工具(Node.js)

4. 桌面程序(Electronjs)

5. App(Cordova)

6. 控制硬件-物联网(Ruff)

7. 游戏开发(cocos2d-js)

Why JavaScript

        类似于JavaScript的语言有很多,比如: 微软推出的JScript,CEnvi推出的 ScriptEase

        1、所有主流浏览器都支持JavaScript(支持程度广)。

        2、目前,全世界大部分网页都使用JavaScript(用户群体广)。

        3、它可以让网页呈现各种动态效果,做为一个Web开发师,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具(特点)。

        4、易学性,学习环境无外不在,只要有文本编辑器,就能编写JavaScript程序。它是基于Java简化设计而来。

JavaScript基础概述

        JavaScript是一种解释型或即时编译型的高级编程语言,虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

什么是脚本语言?

        脚本语言是为了缩短传统的编写-编译-运行(edit-compile-run)过程而创建的计算机语言。

        一个脚本通常是解释执行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。

        用最简单的语言总结一下,脚本语言就是,边解释边运行,非脚本语言,整体编译后,再运行。脚本语言必须运行到错误的地方,才会报错,而非脚本语言,在编译的时候,会报错。

 什么是基于原型编程?

        基于原型的编程是面向对象编程的一种形式,通过复制已经存在的原型对象来实现面向对象,无与基于类的编程较大的区别是没有Class关键字,但是有类的概念。基于原型的编程也可以理解成基于实例的编程。

        基于原型的系统可以在程序运行时对原型进行修改,基于类(Java, C+)的语言则很难实现这一点。

什么是编程范式?

        编程范式是程序语言背后的思想。代表了程序设计者认为程序应该如何被构建和执行的看法。常见的编程范式有:过程式(命令式),面向对象,函数式,泛型编程等。

        和C++等语言类似,JS支持多范式(paradigms)编程。我们常常混合这些范式来完成一些大型Web项目。

        JS支持3种编程范式:命令式、面向对象和函数式。

        JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

        JavaScript主要用于HTML的页面,嵌入在HTML的源码中。

        JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。它存在于全世界所有 Web 浏览器中,能够给页面添加动态效果和动态交互。

        JavaScript最初的目的是为了处理表单的验证操作。

JavaScript组成部分

        JavaScript是由ECMAScript、文档对象模型(Document Object Model:DOM)、浏览器对象模型(Brower Object Model:BOM)三部分构成。

        ECMAScript,描述了该语言的基础语法和基本对象(包含内置对象),JavaScript的核心,描述了语言的基本语法(变量、运算符、表达式、流程控制语句、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义),ECMAScript是一套标准.

        文档对象模型(DOM),描述处理网页内容的方法和接口。通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性,可以对其中的内容进行修改和删除,同时也可以创建新的元素;DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。

        浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。BOM提供了独立于内容而与浏览器窗口进行交互的对象,例如可以移动,调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器,操作系统与用户屏幕信息的navigator与screen对象。

JavaScript特点

        JavaScript是一种属于浏览器的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的(但写成单独的js文件有利于结构和行为的分离)。

        弱类型 : 声明变量无需指定数据类型,统一使用var来声明变量;声明的变量可以存储任意类型的值;

        解释性 : JavaScript是一种解释型的脚本语言,C、Java等语言先编译后执行,而JavaScrip源代码不需要经过编译,直接在浏览器上运行时被解释。

        基于对象 : Javascript是一种基于对象的语言,能运用自己已经创建了的对象,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

        简单性 : JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

        事件驱动(Event Driven) 和动态性 : JavaScript是一种采用事件驱动(所谓事件驱动,指的是在页面执行了某种操作所产生的动作,此动作称为“事件”。)的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应(针对于用户在页面中的操作,都是基于事件驱动)。

        跨平台性:JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。

        不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

        HTML5的出现更是突出了JavaScript的重要性,例如HTML5的绘图支持、本地存储、离线应用、客户端通信等,都大量使用了JavaScript。

        而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖Javascript在客户端进行支持。随着引擎如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。

JavaScript历史

        在1995年时,由Netscape(网景)公司的Brendan Eich(布兰登·艾奇),在网景导航者浏览器上首次设计实现而成。JavaScript是甲骨文公司的注册商标。

        Netscape在最初将其脚本语言命名为LiveScript,后来因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

        JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。

        JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。

        为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。

        发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。

        JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。

        ECMA这个组织的目标是评估,开发和认可电信和计算机标准。

年份名称描述
1997ECMAScript 1第一个版本
1998ECMAScript 2版本变更
1999ECMAScript 3添加正则表达式 添加 try/catch
ECMAScript 4没有发布
2009ECMAScript 5添加 "strict mode",严格模式 添加 JSON 支持
2011ECMAScript 5.1版本变更
2015ECMAScript 6添加类和模块
2016ECMAScript 7增加指数运算符 (**) 增加 Array.prototype.includes

ECMAScript 6 也称为 ECMAScript 2015。

ECMAScript 7 也称为 ECMAScript 2016。

JavaScript的引入方式

        HTML 中的脚本必须位于 <script></script> 标签之间。

        脚本可被放置在 HTML 页面的<body><head> 部分中。

        引入JavaScript需要使用script标签:

        <script>标签用于定义客户端脚本,script 元素即可包含脚本语句,又可通过 src 属性指向外部脚本文件。

        如果想在页面上使用JavaScript,必须使用<script>标签,把JavaScript源码放入<script></script>之间。

        <script>标签属性:

                type:指定脚本的类型。

                src:指定外部脚本的url。

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

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

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

<script>
	//定义JS代码
</script>

//引入外部JS文件
<script src="url"></script>

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

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

行内引入JavaScript

        在标签事件属性中填写JavaScript代码或调用函数时,调用函数时不是 事件=函数名, 而是 事件=函数名+()

<button onclick="alert('我是一个警告框')" type="button">点击这里</button>
<head>
    <script>
        function myfunction(){
            document.getElementById("demo").innerHTML="onclick事件触发";
        }
	</script>
</head>
<body>
    <h1 id="demo">一个段落</h1>
    <button onclick="myfunction()" type="button">点击这里</button>
</body>

内部引入JavaScript

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

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

        通常的做法是把函数放入<head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。

<!DOCTYPE html>
<html>
<head>
<script>
    function myFunction(){
        document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
    }
</script>
</head>
<body>
    <h1>我的 Web 页面</h1>
    <p id="demo">一个段落</p>
    <button type="button" onclick="myFunction()">尝试一下</button>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
    <h1>我的 Web 页面</h1>
    <p id="demo">一个段落</p>
    <button type="button" onclick="myFunction()">尝试一下</button>
    <script>
        function myFunction(){
            document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
        }
    </script>
</body>
</html>

外部引入JavaScript

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

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

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

<!DOCTYPE html>
<html>
<body>
	<script src="myScript.js"></script>
</body>
</html>

        如果把JS源代码直接写在某个具体的页面上时(通常放在<head>标签下),这样的成为内部的JavaScript。

        但是当JS 代码越来越庞大的时候,我们最好把它独立另存为一个JS文件,扩展名为.js,然后在页面上引入即可,这样的称为外部的JS文件,它具有维护性高、可缓存(加载一次,无需加载)、方便未来扩展、复用性高等特点。

        注:引用外部js文件的script标签中不可以写JavaScript代码

扩展知识点

        document.write() 的常用操作:

        除了直接输出文字外,它还支持带有HTML标签的输出内容。 ​ 比如直接输出一个标题 ​ 比如在输出内容中加入br换行标签 ​ 比如输入一张图片 ​ ......等等

<!DOCTYPE html>
<html>
<body>

<h1>我的第一个 Web 页面</h1>

<p>我的第一个段落。</p>

<script>
    document.write("<h1>我是H1的内容</h1>");
</script>

</body>
</html>

        请使用 document.write() 仅仅向文档输出写内容。

        如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖。

<!DOCTYPE html>
<html>
<body>

<h1>我的第一个 Web 页面</h1>

<p>我的第一个段落。</p>

<button onclick="myFunction()">点我</button>

<script>
function myFunction() {
    document.write(Date());
}
</script>

</body>
</html>

        alert()方法:

        alert()方法会弹出警告框。 ​ 可以添加多个alert();他们会按照顺序依次执行。

<!DOCTYPE html>
<html>
<body>

<h1>我的第一个页面</h1>
<p>我的第一个段落。</p>

<script>
	window.alert(5 + 6);
</script>

</body>
</html>

        console.log():

        写入到浏览器的控制台

        如果您的浏览器支持调试,你可以使用 console.log() 方法在浏览器中显示 JavaScript 值。

浏览器中使用 F12 来启用调试模式, 在调试窗口中点击 "Console" 菜单。

<!DOCTYPE html>
<html>
<body>

<h1>我的第一个 Web 页面</h1>

<script>
	a = 5;
	b = 6;
	c = a + b;
	console.log(c);
</script>

</body>
</html>

        innerHTML:

        写入内容到 HTML 元素

<!DOCTYPE html>
<html>
<body>

<h1>我的第一个 Web 页面</h1>

<p id="demo">我的第一个段落</p>

<script>
    //需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。
	document.getElementById("demo").innerHTML = "段落已修改。";
    //document.getElementById("demo") 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。
	//innerHTML = "段落已修改。" 是用于修改元素的 HTML 内容(innerHTML)的 JavaScript 代码。
</script>

</body>
</html>

        click事件的基本用法:

        click事件是最常用的事件之一,所谓事件可以简单理解为用户的操作。 ​ 为了方便之后的学习,你应该先掌握着个简单事件的基本用法。

JavaScript注释及注意事项

        单行注释:

// 单行注释内容
var name = 'hm';

        多行注释:

/* 多行注释内容 */
/*
	var age = 18;
	var name = 'zs';
	console.log(name, age);
*/	

        文档注释:

/**  文档注释内容 */

        注意事项:

        1、字母的大小写,Name和name是两个不同的标识符。

        2、空格和换行。这一点和CSS代码规则类似:多余的空格会被忽略,可以将一行代码分成多行写。

        3、分号作为一个语句的结束标志,分号之后是新语句的开始。虽然省略不写通常也是没有问题的,但还是建议大家写上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是波哩个波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值