JS基础(二)—— 变量与运算符

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44222492/article/details/100513857

一、JS变量

1. 变量的定义

  变量:值可以改变的叫做变量

(1)声明变量:通过关键字(系统定义的有特殊功能的单词)var

  声明变量的时候,同时给变量赋值,叫做初始化。

(2)变量赋值
(3)可以同时定义多个变量,变量之间要使用逗号隔开。

补充:
输出当前变量/常量的数据类型:
格式:typeof 变量/常量
  JS是弱数据类型语言,容错率较高,变量被赋值成什么类型就是什么类型。不要在后续的代码里改变该变量的数据类型,很容易引起代码歧义。

var temp; //temp是啥数据类型?不确定
temp = 12; //temp变量是数字类型
temp = "hello"; //temp变量变成了字符串类型

2. 标识符规则

  标识符:用户自定义的变量名叫做标识符。变量名规律:

  • 标识符必须由数字,字母、下划线和美元符号$组成。
  • 不能以数字开头。
  • 标识符区分大小写,age和Age这是两个变量
  • 标识符必须见名思意。

3. 变量的数据类型

JS中的数据类型分为两大类:

(1)基本数据类型
  • ① 数字Number(整数,浮点数为float),如:100 3.14
  • ② 字符串:String,如:所有带双引号/单引号 ‘hello’ “hello”
  • ③ 布尔值:Boolean,如:true false
  • ④ 特殊数据类型:Null、Undefined、 NaN,如:null空、unde fined未声明

注意:
① 如果alert(abc)一个不存在的变量,会直接报错,而不是undefined,可见undefined和真正的未定义还是有些区别的。因为它是一种特殊类型。
② null也是一种值,但逻辑含义是没有值,它是对象Object类型。
③ 变量的类型只有在赋值后才能确定。

(2)复合数据类型

二、JS运算符

1. 运算符的种类

(1)算术运算符(+, -, *,/,%(取余数)
(2)字符串和变量的拼接(+)
(3)关系运算符(<、>、<=、>=、==、===、!= !==
(4)逻辑运算符(&&与(且)、||或、!非
(5)赋值运算符(=、+=、-=、*=、/=、%=
(6)自增、自减(++a,、a++、--a,、a--

2. 算术运算符

运算符
说明
示例
备注
+ a=5+8
- a=8-5
/ a=20/5
* a = 5*19
% 取模一两个数相除的余数 10%3=1
++ 一元自加。该运算符带一个操作数,将操作数的值加1。返回的值取决于++运算符位于操作数的前面或是后面 ++x,x++ ++x将返回x自加运算后的值。x++将返回x自加运算前的值
一元自减。该运算符只带一个操作数。返回的值取决于–运算符位于操作数的前面或是后面 –x,x– –x将返回x自减运算后的值。x–将返回x自减运算前的值

注意:

  1. 任何类型的数据和字符串类型数据做相加操作的时候。其他数据类型会自动转换成为字符串类型。此时的相加操作不再是数学意义上加法,而是表示拼接的意思。
    如果其中一个操作数是字符串的时候,+号叫做字符串拼接符。
  2. 任何数据除了和字符串做相加运算外,先要将字符串转成数字再进行运算。
    (1)与NaN做算数运算的结果始终都是NaN,包括NaN本身和NaN做运算结果也为NaN。
    (2)字符串如果是纯数字字符串转成数字,否则转换成NaN。
var tmp="您"+"好";
var tmp = "1"+ 1;
var tmp = "h" + true;
var tmp="h"+undefined;
alert(tmp); //tmp is not defined (tmp变量没有声明。)
var tmp=1-"2";//-1字符串"2"转成了数字2
var tmp = 1 - "2a"; //NaN not a number "2a"转成数字NaN 
  1. 代码规范:
    (1)注意层级缩进 tab =四个空格
    ; ,后面都跟一个空格
    (2)运算符= +前后都应该空空格。
    (3)每一条语句后面都必须添加;分号。
    (4)所有的括号成对输入,所有的双引号成对输入。
    (5)一句话占一行
    (6)缩进对齐:
  • 同级对齐
  • 子一级比上一级缩进4个空格

4. 赋值运算符

(1)赋值运算符用等于号(=)表示,就是把右边的值赋给左边的变量。
(2)复合赋值运算符通过x=的形式表示,x表示算术运算符。

5. 关系运算符

  用于进行比较的运算符称作为关系运算符。如:小于(<)、大于(>)、 小于等于(<=)、大于等于(>=).相等(=),不等(!=)、全等(恒等)(===)、不全等(不恒等)(!==)
和其他运算符一样, 当关系运算符操作非数值时要遵循一.下规则:
(1)两个操作数都是数值,则数值比较;
(2)两个操作数都是字符串,则比较两个字符串对应的字符编码值(ASCII码表值);
  逐位进行比较,直到比较出大小,终止比较。
(3)两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较。

运算符
说明
示例
== 等于。
如果两个操作数相等,则返回真。
a==b
!= 不等于。
如果两个操作数不相等,则返回真。
a != 5
> 大于。
如果左边的操作数大于右边的操作数,则返回真。
var1>var2
< 小于。
如果左边的操作数小于右边的操作数,则返回真。
var2 < var1
<= 小于等于。
如果左边的操作数小于或等于右边的操作数,则返回真。
var2 <= 4
var2 <= var1
>= 大于等于。
如果左边的操作数大于或等于右边的操作数,则返回真。
var1 >= 5
varl >= var2

在相等和不等的比较上,如果操作数是非数值,则遵循一下规则:
(1)一个操作数是布尔值,则比较之前将其转换为数值,false 转成0,true 转成1;
(2)一个操作数是字符串,则比较之前将其转成为数值再比较;
(3)一个操作数是NaN,则==返回false,!=返回 true;并且NaN和自身不等;
(4)在全等(===)和全不等(!==)的判断上,比如值和类型都相等,才返回true,否则返回false。

alert(1 == true); //true
alert(0 == false); //true
alert(20 == "20"); //true
alert(1 != NaN); //true 
alert(NaN != NaN); //true
alert(20 === "20"); //false
alert(20 === Number("20")); //true

6. 逻辑运算符

运算符 说明
与(&&) expr1&&expr2 只有当exprl 和expr2 同为真时,才返回真(true).否则,返回假(false)。
或(||) expr1|| expr2 如果其中一个表达式为真,或两个表达式同为真,则返回真(true).否则,返回假(false)。
非( !) !expr 如果表达式为真,则返回假(false).如果为假,则返回真(true).
逻辑非(NOT): !

  逻辑非运算符可以用于任何值。无论这个值是什么数据类型,这个运算符都会返回一个布尔值。它的流程是:先将这个值转换成布尔值,然后取反,规则如下:
(1)操作数是一个空字符串,返回true;
(2)操作数是-个非空字符串,返回false;
(3)操作数是数值0,返回true;
(4)操作数是任意非0数值(包括Infinity),false;
(5)操作数是NaN,返回true;
(6)操作数是undefined,返回true;

alert(!"); //true
alert( !"ss"); //false
alert(!0); //true
alert(!1); //false
alert( !Infinity) //false
alert( !NaN); //true
alert( !undefined); //true

注意:短路操作,与运算只要第一个为true便不再执行第二个,或运算只要第一个为false便不再执行第二个

8. 其他运算符

(1)字符串运算符

  字符串运算符只有一个,即: “+”。它的作用是将两个字符串相加。规则:至少-一个操作数是字符串即可。

(2)逗号运算符

逗号运算符可以在一条语句中执行多个操作。

(3)三元(目)条件运算符

7. 一元运算符

只能操作一个值的运算符叫做一元运算符。

var age = ++box; /加后取值先执行加法运算,在取值
var height = box++; //加前取值先取值再执行加法运算
*其他类型应用一元运算符的规则
var box = '89';
box++; //90,数值字符自动转换成数值
var box = 'ab';
box++; //NaN,字符串包含非数值转成NaN
var box = false;
box++; //1 ,false转成数值0,累加就是1
var box= 2.3;
box++; //3.3,直接加1

8. 表达式概念

  由运算符和操作数(变量或常量)组成的式子,叫做表达式

  • 算术运算符组成的式子叫算术表达式
  • 关系运算符组成的式子叫关系表达式或者条件表达式
  • 逻辑运算符组成的式子叫做逻辑表达式
  • ···
    如: 2+3; a+5; c>3; a&&b等;

猜你喜欢

转载自blog.csdn.net/weixin_44222492/article/details/100513857