看30分钟,快速上手 JavaScript

本文适合想要快速入门 JavaScript 的人群,从变量、运算符、语句等最基本的知识点入手,言简意赅,绝不拖泥带水

1、简介


1.1、什么是 JavaScript

JavaScript(通常简写为 JS )是一种轻量的、解释性的、面向对象的头等函数语言,其最广为人知的应用是作为网页的脚本语言,但同时它也在很多非浏览器环境下使用。JS是一种动态的基于原型和多范式的脚本语言,支持面向对象、命令式和函数式的编程风格。JavaScript运行在网页的客户端,能被用来设计和编程网页在事件发生时的行为。


1.2、第一个 JavaScript 程序

和 CSS 一样,JS 也有两种写法,要么和 HTML 代码写在同一个文件内,这种情况下 JavaScript 代码需要使用 < script >< /script > 标签包起来;或者选择分开写,这时候需要在 HTML 文件的 < head >< /head > 标签内写上 JavaScript 代码文件的路径(推荐相对路径,尽量不要使用绝对路径),具体格式看下面案例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>第一个JavaScript程序</title>
    <!-- 1、直接在 HTML 文件中书写 JavaScript 代码 -->
    <!-- <script>
            alert("Hello World!")
        </script>-->
    
    <!-- 2、通过分离写法实现弹窗,注意 <script> 必须成对出现(推荐!) -->
    <script src="JS/first.js"></script>
</head>

<body>

</body>
</html>
//写在 .js 文件里面
alert("Hello World!") 		// alert 就是弹窗的意思

弹窗:

1

初步了解之后,那么下面正式进入 JavaScript 的学习!



2、基本知识点


2.1、变量

学习一门语言,变量肯定是必须优先掌握的,其实变量的使用大部分语言都是相似的,我们可以举一反三

  • 变量名是大小写 英文、数字、$ 和 _ 的组合,且不能用数字开头,也不能使用 JavaScript 的关键字
  • 变量名可以使用中文(如果你不怕挨打的话)
  • JavaScript 严格区分 大小写
  • 声明一个变量尽量使用 var(后面我们会遇到 let 和 const)。可以发现我们没有提到类型,其实在 JavaScript 中变量不需要声明类型(有点 python 的味道)
  • 变量申明结束使用 ,这不是强制性,但是为了不必要的错误,推荐带上
//不推荐这种写法,这样代表全局变量,意味着所有的地方都可以使用,大大提高出错率
name_1 = "Mike"; 		 	//name_1 变量的创建,随处可以访问这个变量

//使用 var 声明变量
var name_2 = "Mike";		//name_2 变量,只能在函数体内部使用。注意,是函数体内部,而不是代码块!

//使用 let 和 const 声明变量
{
    
     let name_3 = "Mike"; } 	 //name_3 只能在代码块中使用
{
    
     const name_4 = "Mike"; }	 //name_4 只能在代码块中使用,且不能修改


2.2、数据类型

在 JavaScript 中有 5 种基本的数据类型和 3 种引用类型

基本类型

类型名称 解释说明
string 字符串类型,使用 ‘’ 或者 “” 括起来的任意文本
number 数值类型,JavaScript 中不区分整数和浮点数,统一用 number 代替
boolean 布尔类型,只有 true 和 false 两种值
null 空值,注意这里的空不是指 ’ '、" "、0,null 可以理解为什么都没有
undefined 未定义,意思就是未声明的变量

引用类型

类型名称 解释说明
object 对象,一组由键-值组成的无序集合,用 {} 括起来,可以放任意类型的数据(这 8 种都行)
array 数组,一组按顺序排列的集合,用 [] 括起来,也可以放任意类型的数据
function 函数,就是你们理解的那个函数

下面我们一一举例子,为了更加直观,有些时候我们就不使用 var 修饰了,反正也不会报错

1、number

a = 123;				//整数
b = 123.4;			    //小数
c = 1.123e3	;		    //科学计数法
d = -99;			    //负数
e = NaN;			    //not a number
f = Infinity;		    //无穷大

2、string

g = 'abc';			    //单引号
h = "abc";			    //双引号

3、boolean

i = true;			    //逻辑对
j = false;			    //逻辑错

4、null & undefined

k = null;	            //k 的值为 null,就是什么都没有
l = undefined; 		    //未定义

5、object

//使用 {} 说明对象的属性,中间用 , 隔开,控制台输出属性使用 对象名.属性名
var obj = {
    
    
    name: "Mike",
    age: 31,
    school: "清华大学"
};

6、array

//使用 [] 将数组内容括起来,访问的时候采用各个元素的下标
var arr = ["Mike", 31, "清华大学"];

7、function

//函数的使用我们以后会将,这里先展示一下
function say_hello() {
    
    
    console.log("Hello!");
}

可以使用 typeof 运算符获取变量的数据类型(这里引用 W3School 中的例子)

typeof 3.14;					// 返回 "number"
typeof NaN;						// 返回 "number"
typeof "John";					// 返回 "string"
typeof false;					// 返回 "boolean"
typeof myCar;					// 返回 "undefined"
typeof [1,2,3,4];				// 返回 "object"
typeof {
    
    name:'John', age:34};	// 返回 "object"
typeof new Date();				// 返回 "object"
typeof null;					// 返回 "object"
typeof function () {
    
    };			// 返回 "function"


2.3、运算符

运算符在许多语言中都差不多,如果你忘记了,那么就多试两次,不用刻意去记忆,写多了自然就不会忘了!


算术运算符

+				//加法
-				//减法
*				//乘法
/				//除法
%				//取模(余数)
++				//递加
--				//递减

逻辑运算符

&&				//逻辑与,俩都为真结果为 true
||				//逻辑或,俩都为假结果为 false
!				//逻辑非,将真值取反

赋值运算符

=				//赋值运算符
+= 				//加等
-= 				//减等
*= 				//乘等
/= 				//除等
%= 				//模等

比较运算符

==				//等于(注意:类型不一样,值相同,也会判断为 true)
===				//绝对等于(类型不一样,值相同,判断为 false)
!=				//不相等
!==				//不等值或不等型
>				//大于
<				//小于
>=				//大于或等于
<=    			//小于或等于
?				//三元运算符

类型运算符

typeof			//返回变量的类型。
instanceof		//返回 true,如果对象是对象类型的实例

位运算符

&				//与
|				//或
~				//非
^				//异或
<<				//零填充左位移
>>				//有符号右位移
>>>				//零填充右位移

注意事项

  • 由于 == 有缺陷,所以尽量不要使用

  • NaN === NaN,结果为 false,因为 NaN 与所有的数都不相同,只能同过 isNaN(NaN) 结果才为 true

  • 浮点数运算会有精度的损失,例如 1/3 === (1-2/3) 结果为 false



2.4、基本语句

任何一个程序,都是建立在变量和基本语句的基础上,在前面我们已经了解了变量的使用方法,现在介绍 JavaScript 的基本语句(简略一点,能来学习 JavaScript 的人应该都学过其他编程语言吧),这里啰嗦一句,JavaScript 不像 Java 可以使用 IDEA 调试,调试 JavaScript 一般我们都是打开浏览器(Chrome 和 Edge 按 F12),在浏览器的控制台界面进行调试:

2


按照我的理解分类语句:

  • 条件判断:if、switch
  • 循环:for、while、do while
  • 控制:break、continue、return
  • 其他:try … catch、debugger

1、条件判断语句,顾名思义,根据不同的条件执行不同的分支语句

/* 1、【if 语句格式】(推荐带上 {},避免给自己找麻烦):
if () { ... }
if () { ... } else { ... }
if () { ... } else if () { ... } else { ... } */

//随便举一个例子,结果就不展示了,自己去试哦
var course = 90;
if (course > 60 && course < 80) {
    
    
    alert("合格");
} else if (course >= 80) {
    
    
    alert("优秀");
} else {
    
    
    alert("不合格");
}



/* 2、【switch 语句格式】(不要忘了 break!):
switch () {
    case 值1:
        分支1
        break;
    case 值2:
        分支2
        break;
    case 值3:
        分支3
        break;
    defalut:
    	分支4;
} */

var variable_1 = 20;
switch (variable_1 % 10){
    
    
    case 0:
        console.log("variable_1 % 10 = 0");
        break;
    case 1:
        console.log("variable_1 % 10 = 1");
        break;
    case 2:
        console.log("variable_1 % 10 = 2");
        break;
    default:
        console.log("other");
}

2、循环语句,按照指定的次数或者一定的条件重复执行一段代码

/* 1、【for 语句格式】:
for (变量初值; 循环条件; 步长) { ... } 

上边的格式没有省略任何语句,实际上【变量初值、循环条件、步长】都可以省略,你甚至可以写成 for (;;),但是这样做会陷入无限循环,毕竟没有停止循环的条件。平常我们还是按照完整格式使用就行 */

var arr = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
for (var i = 0; i < 7; i++) {
    
    
    //遍历 arr 数组
    console.log("第" + (i + 1) + "天是:" + arr[i]);
}



/* 2、【while 循环格式】:
while () { ... } 

有些人可能会问(我希望没有) while 语句 和 for 语句哪种更好,我只能说各有千秋,一般 while 语句能用的地方,for 语句也能用,具体还是得看情况,没有谁好谁坏这个说法,比方上面这个例子,我可以拿 while 语句实现 */
var j = 0;
while (j < arr.length) {
    
    
    console.log("第" + (j + 1) + "天是:" + arr[j]);
    j++;
}



/* 3、【do while 语句格式】:
do { ... } while ()

while 语句是执行循环体 前 判断,而do while 语句是执行循环体 后 判断,所以记住一句话,do while 语句至少执行一次循环体! */

var a = 10;
do {
    
    
    //即使 a 初始值大于 5,依旧会输出 a = 10 这句话
    console.log("a = " + a);
} while (a < 5);



/* 4、其实还有 for in 循环,这个是用来遍历 JavaScript 对象所有的属性,由于我们还没有具体接触对象,所以简单提一下吧。

【for in 语句格式】:
for (变量 in 对象){ ... } */

var obj = {
    
    
    name: "Mike",
    age: 31,
    school: "清华大学"
};
for (var key in obj){
    
    
    //注意,打印出来的是属性,而不是属性值!即 name、age、school
    console.log(key);
}

3、控制语句,一般用于控制循环语句,增加语句的灵活性

/* 1、break
用于跳出当前的循环,如果是多层嵌套,只会跳出最内层的循环 */

//猜一下这段代码会输出什么结果?答案放在下方,记住 break 只会
for (var i = 0; i < 3; i++) {
    
    
    for (var j = 0; j < 3; j++) {
    
    
        console.log("j = " + j);
        if (i < 2) {
    
    
            break;
        }       
    }
    console.log("i = " + i);
}



/* 2、continue
用于结束本次循环,开始下一次循环,如果是多层嵌套,只会结束本次最内层的语句 */

//我们把上边的代码改一下,换成 continue,猜一下结果,答案同样放在下方
for (var i = 0; i < 3; i++) {
    
    
    for (var j = 0; j < 3; j++) {
    
    
        console.log("j = " + j);
        if (i < 2) {
    
    
            continue;
        }       
    }
    console.log("i = " + i);
}



/* 3、return
用于函数返回值,这个就没什么好说的了,例子就不举了哈 */

break 代码运行结果(你答对了嘛?):

3

continue 代码运行结果:

4


4、其他语句,这里只介绍 try catch

/* try catch 
学习过 Java 的同学,应该对于异常处理机制有一定了解。
首先我们需要明白为什么需要异常处理,一个好的程序或者软件应当具有鲁棒性,即面对不正当的操作,也不会对程序造成致命性错误,这就需要我们编程人员在代码中合理利用异常处理,对一些潜在危险(存在 bug)的代码设置特定的处理机制,try catch 就是常用的手段之一

【语法格式】:
try {
	//可能会导致错误的代码块
} catch (error){
	//处理的方法
} finally {
	//无论是否发生错误,都执行的代码
} */

//下面我们使用 try catch 解决【未定义函数】这种错误
try{
    
    
    console.log(func1());
}catch(error){
    
    
    //这里的 error 是基类型,其他写法先不提,暂时用 error 足够了
    console.log("调用函数的时候发生了错误!")
}

运行结果(可以看到并没有出现红色的报错提示,不信你自己去掉 try catch 做对比):

5


其实学过其他编程语言,再学习 JavaScript,一般不会出现语法问题,而且想让 JavaScript 代码报错的机会还真不多,它的容错率非常高



2.5、严格检查模式 strict

使用 strict 模式可以在一定程度上减少因为编写代码随机性产生的问题(如果报错,看看编译器是否支持 ES6 语法)

'use strict';
j = 10;			//使用严格检查模式,这行代码会被判定为错误
var i = 1;		//这行代码才能通过检查

注意:‘use strict’ 必须写在代码的第一行才能起作用


那么 JavaScript 基本的知识点都简单介绍了一下,如果你是认真看完的,那现在写一些基本的代码应该是不成问题,推荐写完 JavaScript 代码后直接去网页上调试哦(或者你用 IDEA 也行)

猜你喜欢

转载自blog.csdn.net/qq_52174675/article/details/122567217