JavaScript的基本语法

时间:2021-10-02 20:55:41

JavaScript的基本语法

简单值和复杂值的区别

1.简单值 
简单值表示JS中可用的数据或信息的最底层简单形式。 
注:简单之不可被细化。 
也就是说,数字是数字,字符是字符,布尔值是true或false,null和undefined就是null和undefined。这些值本身很简单,不能够再进行拆分。由于简单值的数据大小是固定的,所以简单值的数据是存储与内存中的栈区里面的。 
例: 
let num = 10; 
let bol = true; 
let myNull = null; 
let undef = undefined; 
2.复杂值 
在JS中,对象就是一个复杂值。因为对象可以想下拆分,拆分成多个简单值或者复杂值。复杂值在内存中的大小是未知的,因为复杂值可以包含任何值,而不是一个特定的已知值。所以复杂值的数据都是存储于堆区里面的。

比较

例: 
let a = 10; 
let b = 10; 
let c = new Number(10); 
let d = c; 
console.log(a === b);//true 
console.log(a === c);//false 
console.log(a == c);//true 
d = 10; 
console.log(d == c);//true 
console.log(d === c);//false 
===为全等 
!==不全等 
==相等 
!=不等 
>大于 
<小于 
>=大于等于 
<=小于等于 
注:大于等于/小于等于中“=”要在大/小符号后面!

类型转换

1.隐形转换 
类型 转换前 转换后 
number 4 4 
string ‘1’ 1 
string ‘abc’ NaN 
string ‘’ 0 
boolean true 1 
boolean false 0 
undefined undefined NaN 
null null 0 
注:转换字符串使用“+”号时,会自动转换为字符串 
注2:转换为布尔值,undefined,null,"",0,NaN转为false,其余转为true 
2.强制转换 
转换为数值number(),parseInt(),parseFloat()转换函数: 
(1)转换字符串:a=""+数据 
(2)转换布尔:!书籍类型 
(3)转换数值:数据类型*或/1

运算符

算数运算付

+,-,/*(乘方),%(余数,小学知识) 
注:可以给元素进行赋值然后运算

逻辑运算符

1.非 
就是取反,非真即假,非假即真 
如果操作数是一个一个对象,返回false 
如果操作数是一个一个空字符串,返回true 
如果操作数是一个一个非空字符串,返回false 
如果操作数是数值0,返回true 
如果操作数是任意非0数值(包括Infinity),返回false 
如果操作数是null,返回true 
如果操作数是NaN,返回true 
如果操作数是undefined,返回true 
2.与(且) 
作用两个到多个值,只有所有操作数为真,才为true 
3.或 
作用两个到多个值,有一个为真,就为真。

条件语句

含义:主要是给定一个判断条件,在程序执行过程中判断该条件是否成立,然后根据判断结果来执行不同的操作,从而改变代码的执行顺序,实现更多功能。 
1.单分支语句 
单分支语句由一个if组成,条件成立,就进行代码块开始执行语句。 
例: 
if(条件){ //条件为真时执行的代码 } 
2.双分支语句 
有两个分支线,如果if不成立,就会跳到else语句中。 
例: 
if(条件){ //条件为真时执行的代码 }else{ //条件为假时执行的代码 } 
3.三目运算符 
if...else语句的一个缩写方法,就是用三目运算符?: 
语法:条件?(条件为真时执行的代码):(条件为假时执行的代码) 
例: 
let age = 16; 
let result = age>=18 ? "成年" : "未成年"; 
console.log(result);//未成年

多分支语句

多个if...else语句可以组合在一起,形成逻辑决策树 
例: 
if(条件){ //执行语句 }else if(条件){ //执行语句 }else{ //执行语句 } 
注:多分支语句只执行其中一个。 
2.switch语句 
有一种比多分支语句结构更加清晰的语句结构,就是
switch 
例: 
switch(条件){ case 1: //执行语句; break; case 2: //执行语句; break; case 3: //执行语句; break; default: //执行语句; } 
注:break=用于调出某个case,不写break的话,进入cses后会继续进入后面的caes 
注2:default=用于书写默认的条件,如果前面都不满足的话,就进入到default语句