2.3.5 布尔型
布尔值 Boolean 只有两个值(true , false ) console.log(1 + true); // 在运算中,true代表1 console.log(1+ false); // false 代表0 console.log('t' + true); // 在字符串拼接,会直接以字符串形式
2.3.6 null型
console.log(null+ 'pp') ; // 会拼接字符串 nullpp console.log(null + true) ; // 会输出 1 // null表示"没有对象",即该处不应该有值。 1. 作为函数的参数,表示该函数的参数不是对象。 2. 作为对象原型链的终点。
2.3.7 数值转换
有 3 个函数可以将其他数据类型的数据转换为数字型数据,它们分别是Number()、parseInt() 和 parseFloat() 。第一个函数即转型函数 Number() 可以用于任何数据类型,而另外两个函数则专门用于把字符串类型值转换为数字型值。将其他类型数据转换为数字型数据在类型转换那节专门介绍,下面主要讨论它们将字符串转换为数字时的区别。
//1.number()将其他数据类型的数据转换为数字型数据 var x = 123; var y = new Number(123); console.log(y); //返回123 (x === y) // 为 false,因为 x 是一个数字,y 是一个对象 //2. parseInt()方法 将包含字符串的数字或小数转换成数字类型的整数 parseInt("123.3") ; //返回123 //3. parseFloat()将其他数据类型的值转换为 Number 类型(浮点型)。 parseInt("123") ; //返回123.0 ;
2.3.7 数组
数组可以把一组相关的数据一起存放,并提供方便的访问方式。
//数组的创建于定义 var arr = new Array() ; //利用对象创建数组 //直接定义数组 var arr = [1,2,'haha',true] ; //利用下标给数组赋值 arr[0] = 1 ;
2.4 运算符
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号
JavaScript 中常用的运算符有:
- 算数运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
基于Java运算符,用法相同,就不一一列举 ;
2.5 流程控制语句
流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序
又分为单分支语句,双分支语句和多分支语句。他们的处理逻辑如图所示:
2.5.1 if语句
// 条件成立执行代码,否则什么也不做 if (条件表达式) { //条件成立执行的代码语句 }
案列:打吃鸡
//1、if语句(单分支) var age = prompt("请输入你的年龄"); if(age<18){ alert("你还未成年,请自觉删除游戏😒"); } //2、if...else(双分支) if(age<18){ alert("你还未成年,请自觉删除游戏😒"); }else{ alert("加油!特种兵"); } //3、 if...else if()...else (多分支) if(age<18){ alert("你还未成年,请自觉删除游戏😒"); }else if(age >18){ alert("加油!特种兵"); }else{ alert("您输入的年龄不符合实际"); } 注 :多分支语句只是多选一,最后只有一个语句执行
2.5.2 Switch语句
- 关键字 switch 后面括号内可以是表达式或值, 通常是一个变量
- 关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号
- switch 表达式的值会与结构中的 case 的值做比较
- 如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码执行结束
- 如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码
- 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句
switch(表达式){ case value1: //表达式等于 value1 时要执行的代码 break; case value2: //表达式等于value2 时要执行的代码 break; default: //表达式不等于任何一个value时要执行的代码 }
2.5.3 循环结构
在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句 ;
- for循环
for(初始化变量;条件表达式;操作表达式) { //循环体 } //案例 : // 求1-100所以的整数和 var sum = 0; for (var i = 1; i <= 100; i++) { var sum = sum + i; } console.log(sum);
2. while 循环
while(条件表达式){ //循环体代码 } //案例 : //计算1~100之间所有整数的和 var n = 1; var sum = 0; while (n <= 100) { sum += n; n++; } console.log('1-100的整数和为' + sum);
执行思路:
- 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码
执行循环体代码
2. 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束
注意:
- 使用 while 循环时一定要注意,它必须要有退出条件,否则会称为死循环
- while 循环和 for 循环的不同之处在于 while 循环可以做较为复杂的条件判断,比如判断用户名和密码
三、 函数
3.1 初识函数
函数用于封装实现某项功能的多条语句,方便代码重用和程序维护。可以在任意地方任意时候调用。在这里我们只是对函数有一个基本的了解,更深刻地去理解学习函数(例如函数的本质是什么,什么是匿名函数、回调函数、立即执行函数 等等)我后续会笔记总结发帖。
3.1.1 函数声明
函数的声明知道有三种方式
// 1、使用function关键字声明函数 function sum(num1, num2) { return num1 + num2; } // 2、使用函数表达式的方式声明函数 var sum = function(num1, num2) { return num1 + num2; } // 3、使用构造函数创建函数(了解即可) var sum = new Function('num1', 'num2', 'return num1 + num2;');
知道函数调用时,执行完 return 语句后立即退出函数,位于 return 语句之后的任何代码都永远不会执行(但是变量依旧会预解析并声明提升)。另外如果函数中没有 return 语句或者函数结束时没有执return 语句函数默认返回值为 undefined 。在需要提前退出函数的情况下也可以利用 return 语句,如果不需要返回值则直接使用该语句而不带任何参数或者字面量值。
3.2 作用域
3.2.1 全局变量
1. 变量在<script>标签之内,或者是一个单独js文件
2. 如果在函数内部没有声明的变量也属于全局变量(即在函数内部可以使用外部的变量)
3. 浏览器关闭才会销毁
3.2.2 局部变量
1. 变量声明在函数内部
2. 函数的形参也可以看做是局部变量
3. 函数执行完毕就会销毁
链式作用域:
函数内部可以调用父集中的变量
最后JavaScript的基本介绍就到这里,后续我会继续总结深入了解JS,祝大家在敲代码的路上一路通畅!
感谢大家的观看 !