文章目录

  • 一、初识 JavaScript
    • 1.1 JavaScript 是什么
    • 1.2 JavaScript 的作用
    • 1.3 HTML/CSS/JS 的关系
    • 1.4 浏览器执行 JS 简介
    • 1.5 JS 的组成
      • 1.5.1 ECMAScript
      • 1.5.2 DOM ——文档对象模型
      • 1.5.3 BOM ——浏览器对象模型
    • 1.6 JS 初体验
      • 1.6.1 行内式 JS
      • 1.6.2 内嵌 JS
      • 1.6.3 外部 JS文件
  • 二、JavaScript 注释
    • 2.1 单行注释
    • 2.2 多行注释
  • 三、JavaScript 输入输出语句

一、初识 JavaScript

1.1 JavaScript 是什么

  • 布兰登·艾奇(Brendan Eich,1961年~)。
  • 用10天完成 JavaScript 设计。
  • 最初命名为 LiveScript,后来在与 Sun 合作之后将其改名为 JavaScript。

JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)
脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行
现在也可以基于 Node.js 技术进行服务器端编程

1.2 JavaScript 的作用

  • 表单动态校验(密码强度检测) ( JS 产生最初的目的 )
  • 网页特效
  • 服务端开发(Node.js)
  • 桌面程序(Electron)
  • App(Cordova)
  • 控制硬件-物联网(Ruff)
  • 游戏开发(cocos2d-js)

1.3 HTML/CSS/JS 的关系

1. HTML/CSS 标记语言–描述类语言

  • HTML 决定网页结构和内容( 决定看到什么 ),相当于人的身体
  • CSS 决定网页呈现给用户的模样( 决定好不好看 ),相当于给人穿衣服、化妆

2. JS 脚本语言–编程类语言

  • 实现业务逻辑和页面控制( 决定功能 ),相当于人的各种动作

1.4 浏览器执行 JS 简介

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

  • 渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkit
  • JS 引擎:也称为 JS 解释器。 用来读取网页中的JavaScript代码,对其处理后运行,比如 chrome 浏览器的 V8

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

1.5 JS 的组成

1.5.1 ECMAScript

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

ECMAScript:ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
更多参看MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/JavaScript_technologies_overview

1.5.2 DOM ——文档对象模型

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

1.5.3 BOM ——浏览器对象模型

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

1.6 JS 初体验

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

1.6.1 行内式 JS

<input type="button" value="点击一下" onclick="alert('Hello World')" />
  • 可以将单行或少量 JS 代码写在HTML标签的事件属性中(以 on 开头的属性),如:onclick
  • 注意单双引号的使用:在HTML中我们推荐使用双引号, JS 中我们推荐使用单引号
  • 可读性差, 在html中编写JS大量代码时,不方便阅读;
  • 引号易错,引号多层嵌套匹配时,非常容易弄混;
  • 特殊情况下使用

1.6.2 内嵌 JS

<script>alert('Hello  World~!');
</script>
  • 可以将多行JS代码写到

1.6.3 外部 JS文件

<script src="my.js"></script>
  • 利于HTML页面代码结构化,把大段 JS代码独立到 HTML 页面之外,既美观,也方便文件级别的复用
  • 引用外部 JS文件的 script 标签中间不可以写代码
  • 适合于JS 代码量比较大的情况

二、JavaScript 注释

2.1 单行注释

为了提高代码的可读性,JS与CSS一样,也提供了注释功能。JS中的注释主要有两种,分别是单行注释和多行注释。
单行注释的注释方式如下:

// 我是一行文字,不想被 JS引擎 执行,所以 注释起来

// 用来注释单行文字( 快捷键 ctrl + / )

2.2 多行注释

多行注释的注释方式如下:

/*获取用户年龄和姓名并通过提示框显示出来
*/

/* */ 用来注释多行文字( 默认快捷键 alt + shift + a
快捷键修改为: ctrl + shift + /

三、JavaScript 输入输出语句

为了方便信息的输入输出,JS中提供了一些输入输出语句,其常用的语句如下:

方法 说明 归属
alert(msg) 浏览器弹出警示框 浏览器
console.log(msg) 浏览器控制台打印输出信息 浏览器
prompt(info) 浏览器其弹出输入框,用户可以输入 浏览器

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


本文参考及图片来源:黑马程序员JavaScript全套教程,Web前端必学的JS入门教程,零基础JavaScript入门


黑马程序员——JavaScript基础1(初识 JavaScript)相关推荐

  1. 【黑马程序员pink老师前端】JavaScript对象

    java 学习笔记指路 基础知识 Python转java补充知识 Java中常见的名词解释 前端 [黑马程序员pink老师前端]HTML [黑马程序员pink老师前端]JavaScript基础大总结 ...

  2. 黑马 程序员——Java基础---流程控制

    黑马程序员--Java基础---流程控制 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java提供了两种基本的流程控制结构:分支结构 ...

  3. 黑马 程序员——Java基础---IO(下)

    黑马程序员--Java基础---IO(下) ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供 ...

  4. 黑马程序员 python 基础版 哪个老师_(看黑马程序员Python基础班视频挺好,犹豫该不该报班?)...

    看黑马程序员Python基础班视频挺好,犹豫该不该报班? 如果看视频比较好的话,还是建议自学吧,毕竟录制视频的老师不一定参与实质的讲课,且能自学也省一笔培训费用了.我是看的bilibili上黑马程序员 ...

  5. 黑马程序员-黑马程序员训练营基础测试

    ---------------------- ASP.Net+Unity开发. .Net培训.期待与您交流! ---------------------- 为了帮助更多的人了解黑马,让更多想知道黑马测 ...

  6. 黑马程序员_基础测试

    -------android培训.java培训.期待与您交流! ---------- 黑马程序员训练营基础测试题及个人代码(包含思路.步骤和基本注释) 1. 编写程序计算12+22+32+....+1 ...

  7. 黑马程序员-iOS基础-Objective-C基础(六)内存管理

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 黑马程序员-iOS基础-Objective-C基础(六)内存管理 一.内存管理的必要性 移动设备 ...

  8. B站黑马程序员pink老师讲的JavaScript代码

    B站黑马程序员pink讲课的JavaScript代码(部分代码) <!DOCTYPE html> <html lang="en"> <head> ...

  9. 黑马程序员 C++ 基础语法入门 学习记录

    基础语法入门 文章目录 一.初识C++ 1.1 新建项目 1.2 编写项目 1.3 运行程序 1.4 注释 1.5 变量 1.6 常量 1.7 关键字 1.8 标识符命名规则 二.数据类型 2.1 整 ...

  10. 黑马程序员___Java基础[02-Java基础语法](一)

    Java语言基础组成 一.关键字 1)定义:被Java语言赋予了特殊含义的单词 2)特点:关键字中所有字母均为小写 3)作用及分类: 下面是Java语言保留专用的50个关键字: 用于定义数据类型的关键 ...

最新文章

  1. Orcale11g单机安装与卸载
  2. linux如何取文件列名,Linux_根据表名和索引获取需要的列名的存储过程,复制代码 代码如下: create proc p - phpStudy...
  3. 成功解决ValueError: Parameter values for parameter (max_depth) need to be a sequence.
  4. Android 硬件 OpenGL ES 模拟设计概述
  5. Linux线程(四)
  6. 通过ABAP business switch动态扩展一个ABAP domain
  7. linux nsf 扫描,linux 使用NSF 映射远程磁盘目录的实现
  8. request的获取路径用法小结
  9. 国人不能再过度迷信开源软件
  10. delphi打包python_python for delphi 组件安装和调试的那些坑儿 !
  11. 开氏温度与摄氏度换算_为什么体温表要甩?探秘温度计、湿度计的玄机!
  12. 【评测】肠道微生物核酸提取试剂盒
  13. 环保公司网站的设计与制作
  14. CTF解题基本思路步骤(misc和web)
  15. 使用STM32F103CBT6自制ST LINK V2-1多功能烧录器
  16. 汇编语言使用宏,实现两个字节压缩BCD数相加
  17. SCI投稿全攻略—起飞站
  18. CoffeeScript入门
  19. linux shell sed 单引号, 双引号,反引号, 斜杆, 反斜杆(‘ “ ` / \)
  20. mac docker 安装dvwa

热门文章

  1. SpringBoot2.0集成百度uid-generator唯一ID生成器,支持zk、redis、数据库进行WORKER ID分配
  2. 32位架构应用转64位架构小结
  3. 解决“windows live communications platform 遇到问题需要关闭的错误
  4. 仿写百度首页的float布局
  5. Apache Hadoop VIP版
  6. 哈工大 计算机 李一鸣 论文,毕业设计(论文)-可调恒流源设计.doc
  7. 洛谷 P1595 信封问题 1
  8. 说好不哭,现在就带你了解直播类音视频测试
  9. 白盒测试——基本路径测试
  10. 跳纤前,一定要看看这篇再下手