一、初识JavaScript

一、JavaScript历史

布兰登·艾奇(Brendan Eich,1961年~)用10天完成 JavaScript 设计。

网景公司最初命名为 LiveScript,后来在与 Sun 合作之后将其改名为 JavaScript。Java和JavaScript没有任何关系,就像雷锋和雷峰塔的关系。

JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)

脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行

现在也可以基于 Node.js 技术进行服务器端编程。

为了阅读方便,我们后面把JavaScript 简称为 JS

 

二、JavaScript的作用

  • 表单动态校验(密码强度检测)( JS 产生最初的目的 ),刚开始是为了检测用户输入的密码用户名等是否复合规范,需要把数据传到后台服务器,这样会增加服务器的压力。所以为了在前端界面也就是客户端就实现用户名、密码的判断,发明了JS
  • 网页特效
  • 服务端开发(Node.js)
  • 桌面程序(Electron)
  • App(Cordova) 
  • 控制硬件-物联网(Ruff)
  • 游戏开发(cocos2d-js)

 

三、HTML/CSS/JS的关系

HTML/CSS 标记语言--描述类语言 JS 脚本语言--编程类语言。HTML 决定网页结构和内容( 决定看到什么 ),相当于人的身体;CSS 决定网页呈现给用户的模样( 决定好不好看 ),相当于给人穿衣服、化妆。

JS 脚本语言--编程类语言,实现业务逻辑和页面控制( 决定功能 ),相当于人的各种动作。

 

四、浏览器执行JS的过程

浏览器分成两部分:渲染引擎JS 引擎

渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkit

JS 引擎:也称为 JS 解释器。 用来读取网页中的JavaScript代码,对其处理后运行,比如 chrome 浏览器的 V8

浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释。每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行

 

五、JS的组成

(一)ECMAScript

ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。

 

ECMAScript:ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准

(二)DOM ——文档对象模型

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)

(三)BOM ——浏览器对象模型

BOM (Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等

 

六、JS书写位置

JS有3种书写位置,分别为行内、内嵌和外部。和CSS相同。

(一)行内式

<input type="button" value="点我试试" onclick="alert('Hello World')" />

可以将单行或少量 JS 代码写在HTML标签的事件属性中(以 on 开头的属性),如:onclick

注意单双引号的使用:在HTML中我们推荐使用双引号, JS 中我们推荐使用单引号

可读性差, 在html中编写JS大量代码时,不方便阅读;

引号易错,引号多层嵌套匹配时,非常容易弄混;

特殊情况下使用

(二)内嵌式

 <script>
     alert('Hello World~!');
 </script>

可以将多行JS代码写到 <script> 标签中

内嵌 JS 是学习时常用的方式

(三)外部JS文件

<script src="my.js"></script>

利于HTML页面代码结构化,把大段 JS代码独立到 HTML 页面之外,既美观,也方便文件级别的复用

引用外部 JS文件的 script 标签中间不可以写代码

适合于JS 代码量比较大的情况

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 2. 内嵌式的js -->
    <script>
        alert('沙漠骆驼');
    </script>
    <!-- 3. 外部JS文件 -->
    <script src="my.js"></script>
</head>

<body>
    <!-- 1.行内式的js,直接写到元素的内部 -->
    <input type="button" value="唐伯虎" onclick="alert('秋香姐')">
</body>

</html>

新建一个my.js文件,文件中写入

alert('如果我是DJ,你还爱我吗?');

 

七、注释

注释方式和C语言相同,单行注释快捷键CTRL+/,多行注释ALT+SHIFT+a(可以手动修改)

 

八、JavaScript的输入输出语句

方法

说明

归属

alert(msg)

浏览器弹出警示框

浏览器

console.log(msg)

浏览器控制台打印输出信息

浏览器

prompt(info)

浏览器弹出输入框,用户可以输入

浏览器

注意:alert() 主要用来显示消息给用户,console.log() 用来给程序员自己看运行时的消息。

    <script>
        //prompt 这是一个输入框
        prompt('请输入您的年龄:');
        //alert 弹出警示框 输出的 展示给用户
        alert('计算的结果是:');
        // console 控制台 给程序员测试用的
        console.log('我是程序员能看到的');
    </script>

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

并不傻的狍子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值