初识JavaScript 第二节
JavaScript 语法
JavaScript 语法是一套规则,它定义了 JavaScript 的语言结构。
JavaScript 值
JavaScript 语句定义两种类型的值:
1>混合值
2>变量值
混合值被称为字面量(literal)。变量值被称为变量。
JavaScript 字面量
书写混合值的重要规则是,写数值有无小数点都可以。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 14.50;
</script>
</body>
</html>
JavaScript 变量
在编程语言中,变量用于存储数据值。JavaScript 使用 var 关键词来声明变量,= 号用于为变量赋值。
实例:
<!DOCTYPE html>
<html>
<body>
<p> x 被定义为变量,然后 x 被赋值 5。</p>
<p id="demo"></p>
<script>
var x;
x = 5;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
JavaScript 运算符
JavaScript 使用算数运算符(+ - * /)来计算值:
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = (5 + 15) * 6;
</script>
</body>
</html>
JavaScript 使用赋值运算符(=)向变量赋值:
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var a, b;
a = 2;
b = 9;
document.getElementById("demo").innerHTML = a + b;
</script>
</body>
</html>
JavaScript 表达式
表达式是值、变量和运算符的组合,计算结果是值。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<p id="demo1"></p>
<script>
var x;
x = 6;
document.getElementById("demo").innerHTML = x * 10;
document.getElementById("demo1").innerHTML = 8 * 50;
</script>
</body>
</html>
JavaScript 关键词
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x, y;
x = 7 + 8;
y = x * 10;
document.getElementById("demo").innerHTML = y;
</script>
</body>
</html>
JavaScript 标识符
标识符是名称。在 JS 中,标识符用于命名变量(以及关键词、函数和标签)。在大多数编程语言中,合法名称的规则大多相同。在 JS 中,首字符必须是字母、下划线(-)或美元符号($)。连串的字符可以是字母、数字、下划线或美元符号。
提示:数值不可以作为首字符。这样,JavaScript 就能轻松区分标识符和数值。
JavaScript 对大小写敏感
所有JS标识符对大小写敏感。变量JG和jg,是两个不同的变量。
JS不会把 VAR 或 Var 译作关键词 var。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var lastname, lastName;
lastName = "Gates";
lastname = "Jobs";
document.getElementById("demo").innerHTML = lastName;
</script>
</body>
</html>
JavaScript 与驼峰式大小写
连字符:
first-name, last-name, master-card, inter-city.
注释:JavaScript 中不能使用连字符。它是为减法预留的。
下划线:
first_name, last_name, master_card, inter_city.
驼峰式大小写(Camel Case):
FirstName, LastName, MasterCard, InterCity.
JS程序员倾向于使用以小写字母开头的驼峰大小写。
JavaScript 注释
JS 注释用于解释 JS代码,增强其可读性。JS注释也可以用于在测试替代代码时阻止执行。
单行注释
单行注释以 //
开头。
实例:
<!DOCTYPE html>
<html>
<body>
<h1 id="myH"></h1>
<p id="myP"></p>
<script>
// 改变标题:
document.getElementById("myH").innerHTML = "二哥";
// 改变段落:
document.getElementById("myP").innerHTML = "二哥";
</script>
</body>
</html>
多行注释
多行注释以 /*
开头,以 */
结尾。任何位于 /*
和 */
之间的文本都会被 JS忽略。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="myP"></p>
<script>
/*
下面的代码会改变id = "myp" 的段落
*/
document.getElementById("myP").innerHTML = "二哥";
</script>
</body>
</html>
注释:使用单行注释最为常见。注释块常用于官方声明。
使用注释来阻止执行
在代码行之前添加 // 会把可执行的代码行更改为注释。
JavaScript 变量
JS变量是存储数据值的容器。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var a = 8;
var b = 14;
var c = a + b;
document.getElementById("demo").innerHTML =
"c 的值是:" + c;
</script>
</body>
</html>
类似代数
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var q = 14;
var w = 8;
var e = 12;
var r = q + w + e;
document.getElementById("demo").innerHTML = "总计:" + r;
</script>
</body>
</html>
JavaScript 标识符
所有 JS变量必须以唯一的名称的标识。这些唯一的名称称为标识符。
提示:JavaScript 标识符对大小写敏感。
JavaScript 数据类型
JS变量可存放数值,比如 875,以及文本值,比如 "jg"在编程中,文本值被称为字符串。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var pi = 3.1415;
var person = "jg";
var answer = 'nihao';
document.getElementById("demo").innerHTML =
pi + "<br>" + person + "<br>" + answer;
</script>
</body>
</html>
声明(创建) JavaScript 变量
在 JS中创建变量被称为“声明”变量。我们可以通过 var
关键词来声明 JS变量。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var carName = "porsche";
document.getElementById("demo").innerHTML = carName;
</script>
</body>
</html>
提示:在脚本的开头声明所有变量是个好习惯!一条语句可以声明多个变量。
JavaScript Let
全局作用域
全局(在函数之外)声明的变量拥有全局作用域。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var carName = "money";
myFunction();
function myFunction() {
document.getElementById("demo").innerHTML =
"I want " + carName;
}
</script>
</body>
</html>
函数作用域
局部(函数内)声明的变量拥有函数作用域。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo1"></p>
<p id="demo2"></p>
<script>
myFunction();
function myFunction() {
var carName = "money";
document.getElementById("demo1").innerHTML =
typeof carName + " " + carName;
}
document.getElementById("demo2").innerHTML =
typeof carName;
</script>
</body>
</html>
JavaScript 块作用域
通过 var
关键词声明的变量没有块作用域。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 6;
{
var x = 5;
}
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
循环作用域
在循环中使用 var
。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var i = 5;
for (var i = 0; i < 10; i++) {
// 一些语句
}
document.getElementById("demo").innerHTML = i;
</script>
</body>
</html>
在循环中使用 let
。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
let i = 5;
for (let i = 0; i < 10; i++) {
// 一些语句
}
document.getElementById("demo").innerHTML = i;
</script>
</body>
</html>
函数作用域
在函数内声明变量时,使用 var
和 let
很相似。它们都有函数作用域。
HTML 中的全局变量
使用 JS的情况下,全局作用域是 JS 环境。在 HTML 中,全局作用域是 window 对象。通过 var
关键词定义的全局变量属于 window 对象。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var carName = "money";
// 此处的代码能够使用 window.carName
document.getElementById("demo").innerHTML = "I want " + window.carName;
</script>
</body>
</html>
提升
通过 var
声明的变量会提升到顶端。
JavaScript Const
通过 const
定义的变量与 let
变量类似,但不能重新赋值。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
try {
const PI = 3.1415;
PI = 3.14;
}
catch (err) {
document.getElementById("demo").innerHTML = err;
}
</script>
</body>
</html>
块作用域
在块作用域内使用 const
声明的变量与 let
变量相似。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 10;
// 此处 x 是 10
{
const x = 2;
// 此处 x 是 2
}
// 此处 x 是 10
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
在声明时赋值
JSconst
变量必须在声明时赋值。
错误的
const PI;
PI = 3.1415;
正确的
const PI = 3.1415;
不是真正的常数
关键字 const
有一定的误导性。它没有定义常量值。它定义了对值的常量引用。
原始值
如果我们将一个原始值赋给常量,我们就不能改变原始值:
常量对象可以更改
我们可以更改常量对象的属性。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
// 创建对象:
const zuo = {type:"Porsche", model:"911", color:"white"};
// 更改属性:
zuo.color = "red";
// 添加属性:
zuo.owner = "jg";
// 显示属性:
document.getElementById("demo").innerHTML = "作者是:" + zuo.owner;
</script>
</body>
</html>
JavaScript 算数
算数运算符
典型的算术运算会操作两个数值。
实例:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 7 + 8;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
加法
加法运算符(+)加数:
减法
减法运算符(-)减数。
乘法
乘法运算符(*)乘数。
除法
除法运算符(/)除数。
系数
系数运算符(%)返回除法的余数。
注释:在算术中,两个整数的除法产生商和余数。
注释:在数学中,模运算的结果是算术除法的余数。
递增
递增运算符(++)对数值进行递增。
递减
递减运算符(–)对数值进行递减。
幂
取幂运算符(**)将第一个操作数提升到第二个操作数的幂。
运算符优先级
运算符优先级(Operator precedence)描述了在算术表达式中所执行操作的顺序。
第二节到这里就结束了
世界上那些最容易的事情中,拖延时间最不费力。