JavaScript 语法基础(上)

简介: JavaScript 语法基础(上)

引言



JavaScript,简称 JS,它是一个脚本语言,通过编写代码,在浏览器上运行。


一、JS 引入方式



1. 内嵌式


内嵌式是指:将 JS 代码写在 script 标签的内部。


<!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>demo8</title>
</head>
<body>
    <script>
      //alert 的功能是弹出一个对话框
        alert("hello world");
    </script>
</body>
</html>


展示结果:


81549697b1cc48b7bd1bc9c1e4fcda58.png


2. 行内式


行内式是指:将 JS 代码入到 html 中,但不通过 script 标签。


<!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>demo9</title>
</head>
<body>
    <input type="button" value="按钮" onclick="alert('hello! 欢迎来到这个页面')">
</body>
</html>


展示结果:


c493443f9cc749b4b51846aeb5887c5c.png


3. 外部式


(1) 创建一个 js文件,在 js文件中,书写代码。

(2) 在 html 文件中,通过路径引入 css 文件。


js 文件


alert("hello world");


html 文件


<!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>demo10</title>
</head>
<body>
    <script src="demo10.js">
        alert("welcome to the world");
    </script>
</body>
</html>


在通过 src 文件引入 【hello world】之后,同一 script 标签中的其他相同命令不会生效。比方说:上面的 【alert(“welcome to the world”)】就并没有生效。


展示结果:


ba402f6680a74197bdff53d361fde124.png


二、JS 基础语法



1. 注释


和 Java 相同,既可以使用 【//】,也可以使用【/* */】


2. 输入输出


// 弹出一个输入框
prompt("请输入你的名字");
// 弹出一个输出框
alert("hello world");


展示结果:


010203c080ef4f77bbfca0fe8b49fbe7.png


3. 在控制台上打印


console.log("hello world");


展示结果:


bcaba29257454770bbd75ff14ace5e8f.png


注意


①【console.log()】的用法和 Java 中【System.out.println()】的用法基本相似,都是具有打印并换行的显示效果。


② console 是一个 JS 中的 “对象”。其中. 表示取对象中的某个属性或者方法,我们可以直观地将 . 理解成 “的”。那么,console.log 就可以理解成:使用 “控制台” 对象 “的” “log 方法”。


4. 变量的使用


基本数据类型


7de6307c93b74bd38bd9526a877028e8.png


创建变量


let num = 10;
//var num = 10;
num = 20;
console.log(num);
let str = 'hello world';
console.log(str);


展示结果:


4674cade36b04ae5ab2df45059283773.png


var / let 是 JS 中的一个关键字,它的作用是声明这是一个变量。var 的使用,年代较为久远,后面建议使用 let,以免不必要的缺陷发生。


在 JS 中,创建变量不需要显示指定类型。变量实际的类型,根据初始化 / 赋值来确定的。而这一特性实际上就是因为 JS 是基于动态类型这一语法的。


在上面的程序中,将变量 num 赋值成数字,那么 num 就表示 number 类型;将变量 str 赋值成字符串,那么 str 就是字符串类型。

理解动态类型


理解动态类型之前,先来看看 Java 的静态类型语言:


在 Java 中,一个变量的类型,在编译阶段就固定了,在运行时不能改变。例如:下面的变量 a 就是一个 int 类型,在后面的编译阶段中,不管怎么修改 a 的值都是可以的,但当前 a 的类型始终是 int 类型,这无法改变。


int a = 10;


而在 JS 中,变量的类型随着程序运行,随时可以改变。这其实就是动态类型的含义。


let a = 10;
console.log(a);
//typeof 可以展示当前变量的类型
console.log(typeof a);
a = 'hello world';
console.log(a);
console.log(typeof a);


展示结果:


a7f23c44d546461d9e831a9e64ed9d55.png


5. number 类型的规则


(1) 进制表示


和 Java 类似,不再赘述。


let a = 07;   // 八进制整数, 以 0 开头
let b = 0xa;  // 十六进制整数, 以 0x 开头
let c = 0b10;   // 二进制整数, 以 0b 开头


(2) 特殊的数字值


Infinity: 无穷大, 大于任何数字。表示数字已超过了 JS 能表示的范围。
-Infinity: 负无穷大, 小于任何数字。表示数字也已超过了 JS 能表示的范围。
NaN: 表示当前的结果不是一个数字。


console.log(10/0);
console.log(-10/0);
console.log('hello' - 10);


展示结果:


e51674b1dbc5427987cead600d427be9.png


(3) 小数


console.log(1/3);


展示结果:


875aee1240624d27ab5e8d7303306f42.png


6. string 类型的规则


(1) 创建字符串


字符串需要使用引号引起来,单引号双引号都可以。因为在 JS 的语法中,没有字符的概念,只有字符串。


let str1 = 'hello';
let str2 = "hello world";


也可以单引号双引号配合使用:


console.log(" welcome to 'Shanghai' ");
console.log(' welcome to "Shanghai" ');


(2) 求字符串长度


let str = 'hello 杰克';
console.log(str.length);
//输出结果:8


(3) 拼接字符串


let str1 = "hello ";
let str2 = "杰克";
console.log(str1+str2);
let str3 = "hello ";
let str4 = "Jack";
console.log(str3+str4);
let str5 = "My score is "
let str6 = 100;
console.log(str5+str6);


展示结果:


8c98c1d242e24b75bad970d4518337ec.png


7. boolean 类型的规则


boolean 类型除了用来表示 true 或 false 以外,还能够分别表示 0 或 1.


let a = true;
let b = false;
console.log(a + 1);
console.log(b + 1);

展示结果:


93b67bc178d14cab93db773360958e00.png


8. undefined 和 null 类型


let a;
console.log(a);
let b = null;
console.log(b + 2);
console.log(b + '2');


展示结果:


b4eadf63c12746fda4faffcfb7a1e3df.png


两者的区别与联系


共同点:null 和 undefined 都表示取值非法的情况,但是侧重点不同。

不同点:null 表示当前的值为空,相当于一个空的盒子。

undefined 表示当前的变量未定义,相当于连盒子都没有。


9. 运算符与符号


JS 中的算术运算符、赋值运算符、自增自减运算符、比较运算符、逻辑运算符、移位运算、转义字符。这些和 C 语言、 Java 的语法都基本一致,虽有个别地方不相同,但不影响,可以自己在实际编程中发现差异。


比方说:


展示1


JS 中有一个【===】号,它与两个等号的差异:


==      :比较相等(会进行隐式类型转换)
===     :比较相等(不会进行隐式类型转换)


let x = 10;
let y = '10';
console.log(x == y);
console.log(x === y);


展示结果:


21f9aa88925f4018be7531825b5b10a8.png


展示2


a || b


如果 a 为 true, 整个表达式的值就是 a 的值。

如果 a 为 false,整个表达式的值就是 b 的值。

所以在 JS 中,|| 得到的结果,不一定就是 boolean 类型。


10. 语句


JS 中的 if 语句、三元表达式、switch 语句、while循环、for 循环。这些都与 C语言的语法基本一致。


在 if 语句、while 循环中的判断条件中,存在 【0为假,非0为真】的逻辑。


let a = 1;
let b = 0;
if(5) {
    console.log(100);
} else {
    console.log(200);
}
while ( a <= 10) {
    console.log(a);
    a++;
}


展示结果:


f7f5c445ba94427b9c1202da2f20e206.png

目录
相关文章
|
1月前
|
存储 JavaScript 前端开发
Node.js的基本语法
【8月更文挑战第12天】Node.js的基本语法
84 1
|
1月前
|
JavaScript 前端开发
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
这篇文章是JavaScript基础与实战教程的第一部分,涵盖了JavaScript的基本语法、标识符、数据类型以及如何进行强制类型转换,通过代码示例介绍了JS的输出语句、编写位置和数据类型转换方法。
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
|
1月前
|
前端开发 JavaScript 程序员
前端 JavaScript 的 _ 语法是个什么鬼?
前端 JavaScript 的 _ 语法是个什么鬼?
|
2月前
|
缓存 JavaScript 前端开发
前端框架与库 - Vue.js基础:模板语法、数据绑定
【7月更文挑战第14天】Vue.js 是渐进式框架,以简洁API和高效数据绑定知名。本文聚焦模板语法与数据绑定,解释常见问题和易错点,助力初学者避坑。模板语法中,{{ expression }} 用于渲染值,v-bind/: 用于动态绑定属性。数据绑定涉及文本、属性和事件,注意v-model适用于表单元素,计算属性有缓存。理解正确用法,借助文档和IDE,可提升开发质量和效率。善用Vue.js,打造响应式UI。
67 4
|
3月前
|
存储 JavaScript 前端开发
JavaScript 语法
JavaScript 语法
27 5
|
2月前
|
存储 JavaScript 前端开发
|
3月前
|
JavaScript 前端开发
JavaScript语法关键点:变量用`var`、`let`、`const`声明
【6月更文挑战第22天】JavaScript语法关键点:变量用`var`、`let`、`const`声明;七种数据类型包括`Number`、`String`、`Boolean`、`Null`、`Undefined`、`Symbol`和`Object`;运算符如算术、比较、逻辑和赋值;流程控制有`if...else`、`switch`和各种循环。了解这些是JS编程的基础。
49 3
|
2月前
|
前端开发 JavaScript
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
157 0
|
2月前
|
存储 缓存 自然语言处理
|
4月前
|
JavaScript
细讲Node.js模块化,以及 CommonJS 标准语法导出和导入,详细简单易懂!
细讲Node.js模块化,以及 CommonJS 标准语法导出和导入,详细简单易懂!