Skip to content

JS基础语法

一个不错的网站:javascript.info

1.JS(JavaScript)简介

1.1 是什么?

JavaScript(简称“JS”) 是一种具有函数优先的轻量级、弱类型,解释型或即时编译型的编程语言。JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

  • 脚本语言

    • 不用编译直接执行。

    • 无法独立执行。

    • 必须依赖其他的程序(浏览器)才能执行。

1.2 能干嘛?

web标准----网页的组成部分

结构   HTML   从语义的角度,描述页面的结构 
表现   CSS       从审美的角度,美化页面 
行为   JavaScript   从交互的角度,提升用户体验
  • HTML+CSS: 用来实现网页的结构搭建和样式修饰

  • JS实战应用:用于实现网页特效&交互

1.3 组成

JavaScript 由三个部分组成:ECMABOMDOM

ECMAScript(标准/规则):描述了JS语言的语法和基本对象,规定JS基础语法和规则

BOM(浏览器对象模型):描述处理浏览器的方法和接口,让js有能力操作浏览器 ​

DOM(文档对象模型):描述与网页元素内容交互的方法和接口,让js有能力操作网页

2.引用JavaScript

对于JS程序的引入我们分为三种方式:

  • 1、内部 (学习中使用比较多)

  • 2、外部 (工作中推荐使用)

  • 3、内联 (一般不推荐使用)

2.1 内部引入

在页面中使用一对script标签,将JS代码写在script标签内部。

html
<script> alert("hello world!!");</script>
  • 注:script标签 可以放在 head中 也可以放在 body中

2.2 外部引入

使用script标签的src属性引入一个外部的以.js为扩展名的文件,在.js文件中直接编写JS代码即可。

HTML文件中书写:

html
<script src="路径及文件名.js"></script>

注意:使用script标签引入外部js文件时,当前script标签内部不能再书写js代码

  • 注:script标签 可以放在 head中 也可以放在 body中,并且一个页面可以引入多个 js文件。
2.1.1 defer和async

当我们使用<script></script> 标签引入js文件时,可以通过deferasync改变js文件的加载时机

  • defer:整个页面正常渲染结束,才会执行此js文件的代码,渲染完再执行
  • async:一旦此js文件下载完,就会执行,下载完就执行
html
<script src="./js" defer></script>
<script src="./js" async></script>

如果有多个defer脚本,会按照他们在页面出现的顺序加载

而多个async脚本则不能保证加载顺序,因为一旦有下载完毕的async脚本就会立即执行

defer 和 async 在网络读取(下载)这块儿是一样的,都是异步的(相较于 HTML 解析)

2.3 内联使用

将JS代码直接写在标签内部,作为标签的属性值出现。

html
<!-- 正常元素书写 --> 
<div onclick='alert("hello world!!")'>点击试试</div> 
<!-- a标签书写 --> 
<a href='javascript:alert("hello world!!")'>点击试试</a>
<!-- 注意:需要点击标签才能出发代码执行 -->

3. 常用的输出语法

3.1 alert

作用:alert会弹出一个警告框

语法:alert("内容")

js
alert("hello world");

3.2 document.write

作用:网页中写入内容(可以识别标签)

语法:document.write("内容")

js
document.write("hello world"); 
document.write("<h1>hello world</h1>");

3.3 console对象

console对象上有众多输出函数可以使用,常用的为console.log()

方法描述
assert()如果断言为 false,则在信息到控制台输出错误信息。
clear()清除控制台上的信息。
count()记录 count() 调用次数,一般用于计数。
error()输出错误信息到控制台
group()在控制台创建一个信息分组。 一个完整的信息分组以 console.group() 开始,console.groupEnd() 结束
groupCollapsed()在控制台创建一个信息分组。 类似 console.group() ,但它默认是折叠的。
groupEnd()设置当前信息分组结束
info()控制台输出一条信息
log()控制台输出一条信息
table()以表格形式显示数据
time()计时器,开始计时间,与 timeEnd() 联合使用,用于算出一个操作所花费的准确时间。
timeEnd()计时结束
trace()显示当前执行的代码在堆栈中的调用路径。
warn()输出警告信息,信息最前面加一个黄色三角,表示警告

3.4 prompt

作用:prompt:弹出一个输入框,可以输入值

语法:

js
var data = prompt("内容")

返回:返回用户输入的内容,通过变量接受 var data = prompt("请输入你的真实年龄");

4.JS的注释

需求为了便于多人协作开发,加快开发速度,增加代码可读性,要养成写注释的习惯。

语法

js
// 单行注释

/*  这是多行注释
	中间的所有内容都会被注释
*/

MIT Licensed