JavaScript基本语法
JavaScript输出
- JavaScript不提同任何内建的打印或显示函数。
- JavaScript能够以不同的方式“显示”数据
- 使用
window.alert()
写入警告框 - 使用
document.write()
写入HTML输出 - 使用
innerHTML
写入HTML元素 - 使用
console.log()
写入浏览器控制台
- 使用
使用innerHTML
- 如需访问HTML元素,JavaScript可使用
document.getElementById(id)
方法。 id
属性定义HTML元素。innerHTML
属性定义HTML内容:
<!DOCTYPE html>
<html>
<body>
<h1>一张网页</h1>
<p>一个段落</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 1+1;
</script>
</body>
</html>
👇运行结果👇
- 更改HTML元素的
innerHTML
属性是在HTML中显示数据的常用方法。
使用document.write()
- 出于测试目的,使用
document.write()
比较方便:
<!DOCTYPE html>
<html>
<body>
<h1>一张网页</h1>
<p>一个段落</p>
<script>
document.write(1+1);
</script>
</body>
</html>
👇运行结果👇
- 注意:在HTML文档完全加载后使用
document.write()
将删除所有已有的HTML。 - 注意:
document.write()
方法仅用于测试。
使用window.alert()
- 使用警告框来显示数据:
<!DOCTYPE html>
<html>
<body>
<h1>一张网页</h1>
<p>一个段落</p>
<script>
window.alert(1+1);
</script>
</body>
</html>
👇运行结果👇
使用console.log()
- 在浏览器中,我们可以使用
console.log()
方法来显示数据。 - 通过F12来激活浏览器控制台,并在菜单中选择“Console”。
<!DOCTYPE html>
<html>
<body>
<h1>一张网页</h1>
<p>一个段落</p>
<script>
console.log(1+1);
</script>
</body>
</html>
👇运行结果👇
JavaScript语句
- 在HTML中,JavaScript语句是由web浏览器“执行”的“指令”。
- 在HTML中,JavaScript程序由web浏览器执行。
JavaScript语句以下构成
- 值
- 运算符
- 表达式
- 关键词
- 注释
分号;
- 分号分隔JavaScript语句,请在每条可执行语句之后添加分号。
- 如果有分号,运行在同一行写多条语句。
a = 1;
b = 1;
c = a + b;
d = 2; e = 2; f = d + e;
- 以分号结束语句不是必需的,但是我们仍然要有这个好习惯。
JavaScript空白字符
- JavaScript会忽略多个空格。您可以向脚本添加空格,以增加可读性。
- 在运算符旁边(
=
+
-
*
/
)添加空格是个好习惯。
JavaScript行长度和折行
- 为了达到最佳的可读性,程序原常常喜欢把代码行控制在80个字符以内。
- 如果语句太长,对齐进行折行的最佳位置是某个运算符:
document.getElementById("demo").innerHTML =
"Hello Word!!";
JavaScript代码块
- JavaScript语句可以用花括号(
{……}
)组合在代码块中。 - 代码块的作用是定义一同执行的语句。
function myFunction(){
document.getElementById("demo1").innerHTML = "加油武汉!";
document.getElementById("demo2").innerHTML = "加油中国!";
}
JavaScript关键词(部分)
- JavaScript语句常常通过某个关键字来标识需要执行的JavaScript动作。
关键词 | 描述 |
---|---|
debugger | 停止执行JavaScript,并调用调试函数(如果可用)。 |
var | 声明变量 |
function | 声明函数 |
for | 标记需被执行的语句块,只要条件为真。 |
if…else | 标记需被执行的语句块,根据某个条件。 |
for | 标记需被执行的语句块,只要条件为正。 |
switch | 标记需被执行的语句块,根据不同的情况。 |
continue | 跳出循环并在顶端开始。 |
break | 终止switch 或循环。 |
try…catch | 对语句块实现错误处理。 |
return | 退出函数 |
- JavaScript关键词指的是保留的单词,保留词无法用作变量名。
JavaScript语法
- JavaScript语法是一套规则,它定义了JavaScript的语言结构。
var x,y; //如何声明变量
x = 1;y = 2; //如何赋值
z = x + y; //如何计算值
JavaScript值
- JavaScript语句定义两种类型的值:混合值和变量值。
- 混合值被称为字面量(literal)。变量值被称为变量。
字面量
- 书写字面值最重要的规则是:
- 写数值有无小数点均可。
- 字符串是文本,由双引号或单引号包围。
变量
- 在编程语言中,变量用于存储数据值。
- JavaScript使用
var
关键词来声明变量。 =
号用于为变量赋值。- 一条语句,多个变量,中间用逗号分隔(可跨多行)。
Value = undefined
。在计算机程序中,被声明的变量如果不带有值,它的值将是undefined
。- 如果两次声明某个JavaScript变量,它的值不会丢失。
JavaScript运算符
- 算术运算符(
+
-
*
/
++
--
%
+=
-+
==
!=
>
<
>=
<=
?:
**
) - 逻辑运算符(
&&
||
!
) - 类型运算符
typeof
:返回变量类型instanceof
:返回true
,如果对象是对象类型的实例。
- 赋值运算符(
=
) - 位运算
- 位运算符处理32位数。
- 该运算中的任何数都会被转换为32位的数。结果会被转换黑JavaScript数。
运算符 | 描述 | 例子 | 等同于 | 结果 | 十进制 |
---|---|---|---|---|---|
& | 与 | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | 或 | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | 非 | ~ 5 | ~0101 | 1010 | 10 |
^ | 异或 | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | 零填充左位移 | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | 有符号右位移 | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | 零填充右位移 | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
上例中使用的是4位无符号的例子。但JavaScript使用32位有符号数。
因此,在JavaScript中,~5不会返回10,而是返回-6。
~00000000000000000000000000000101 将返回 11111111111111111111111111111010。
JavaScript表达式
- 表达式是值、变量和运算符的组合,计算结果是值。
- 表达式也可包含变量值
- 值可以是多种类型,比如数值和字符串。
- 例如,
“Hello”+“ ”“JavaScript”
, 计算结果是“Hello JavaScript”
。
- 例如,
JavaScript注释
- JavaScript注释用双斜杠
//
或/*
与*/
来标记。 - 注释会被忽略,不被执行。
JavaScript标识符
- 标识符是名称
- 在JavaScript中标识符用于命名变量(以及关键词,函数和标签)。
- 在大多数编程语言中,合法名称的规则大多相同。
- 在JavaScript中,首字符必需是字母、下划线(
_
)或美元符号($
)。 - 连串的字符可以是字母,数字,下划线或美元符号。
提示:数字不可以作为首字母。这样,JavaScript就能轻松区分标识符和数值。
JavaScript命名要求
JavaScript对大小写敏感
- 所有JavaScript标识符对大小写敏感。
- 变量
lastName
和lastname
,是两个不同的变量。 - JavaScript不会把
VAR
或Var
编译作关键词var
。
驼峰式大小写
- 历史上,程序员曾使用三种方法把多个单词连接成一个变量名。
- 连字符(JavaScript中不能使用):
first-name
last-name
- 下划线:
first_name
last_name
- 驼峰式大小写:
FirstName
LastName
- 连字符(JavaScript中不能使用):
JavaScript字符集
- JavaScript使用Unicode字符集
- Unicode覆盖世界上几乎所有的字符,标点和符号。