运算符 与 对象
一、JavaScript运算符:也叫操作符,通过运算符可对一个或多个值进行运算,并获得运算结果。它包括:算数运算符、逻辑运算符、赋值运算符、关系运算符、条件运算符。
(1) 算数运算符(+加、-减、*乘、/除、%取模、++自增、--自减)
(+加)①可以对两个值进行加法运算,或两个字符串进行拼接。
②任何值和字符串做加法运算,都会先转为字符串再和字符串拼接。
③“+”可完成隐式转换。
(-减)对两个值进行减法运算,并返回结果。
(*乘)对两个值进行乘法运算,并返回结果。
(/除)对两个值进行除法运算,并返回结果。
特别提醒:任何值做-、*、/运算时,会自动转换为Number,可利用这一特性完成隐式转换。
(%取模)取模运算(取余数)
(++自增)
(--自减)
逻辑运算符(!非、&&与、||或)
(!非)①非运算指对一个布尔值(true、false)进行反操作。false --》true true --》false
②若对一个布尔值进行2次非运算,则值不改变。
③若对非布尔值进行运算,则先转换为布尔值,在反操作。
利用这点,可将一个值转换为布尔类型:两次非运算
(&&与)①&&可对符号两侧的值进行与运算并返回结果
规则:两个值只要有一个是false,则返回false
两个值都是true,则返回true
②JS中的“与”只要有一个false,则返回false
(||或) ①||可对符号两侧的值进行或运算并返回结果
或运算与(与运算恰恰相反)
②JS中的“或”只要有一个为true,则返回true,不会再去检查第二个值。
(2) 赋值运算符(=、+=、-=、*=、/=、%=)
赋值符:可将符号右侧的值赋值给左侧的变量。
- 关系运算符(>大于、>=大于等于、<小于、<=小于等于、==相等、!=不等、===全等【数据类型与值都等】、!==不全等)运算结果为布尔值
- 条件运算符(也叫三元运算符)
语法:条件表达式?语句1:语句2;
流程:①在执行时,首先对表达式进行求值。
反之,则执行语句2,并返回结果。
二、运算符优先级
在JS中的优先级与数学中的优先级一样。
如数学中,先乘除,后加减,有括号先算括号的。
在JS中,算数运算符à关系运算符à逻辑运算符à赋值运算符。
三、流程控制语句
程序中的三种基本流程结构:
- 顺序结构:按照顺序执行代码,从上到下。
- 分支结构:执行代码时,可根据条件进行选择,条件越多对应的结果越多,分支越多。
如:if……else……语句,switch语句
- 循坏结构:用来重复不断地做一件事。
如:for循环、while循环、do……while循环。
四、对象简介
对象:在JS中,那个值不是基本数据类型的为对象,对象可存储多个不同数据类型,所以它属于一种复合数据类型。
常见的三种对象:①内建对象:由ES标椎中定义的对象,在任何ES中都可以用
如:Math、String、Number、Boolean、Function、Object……
②宿主对象:由JS运行环境提供的对象,目前主要指由浏览器提供的对象。
比如:BOM(浏览器对象模型) DOM(文档对象模型)
如:常用的console.log() 是DOM中的对象。
③自定义对像:由开发人员自己定义的对象。
创建对象:使用new关键字调用函数,即是构造函数constructor
构造函数:是专门用来创建对象的函数。
如:var obj=new Object(); //创建函数
在对象中保存的值称为属性:
- 向对象添加属性的语法:①对象·属性名=属性值
②对象[“属性名”]=属性值
2. 获取对象属性的语法:①对象·属性名 ②对象[“属性名”]
注意:如果对象中没有属性,不会报错而是返回undefined。
对象的属性值可以是任意的数据类型。
五、对象的属性名与属性值(拓展)
属性名:对象的属性名不强制要求尊守标识符规则(但,不允许这样使用,我们自己定义的使用都必须遵守标识符规则)。
in运算符:通过该运算符检查一个对象中是否有指定的属性(有,则返回true;反之,false)
语法:“属性名” in 对象
六、基本数据类型与引用数据类型
- JS中的变量都是在栈内存中的。
- ①基本数据类型的值直接在栈内存中存储。
- ② 值与值之间是独立的,修改一个变量不会影响其它的变量。
- 对象是保存在堆内存中的,每创建一个新对象,都会在堆内存中开辟一个新空间。
- 而变量保存在对象的堆内存地址(对象的引用),如果两个变量保存在同一个对象引用,那么一个变量被修改属性时,会影响到另一个变量。
七 、对象字面量
- 使用对象字面量时,可以在创建对象时直接指定对象中的属性。
语法:{属性名1:属性值1,属性名2:属性值2,……}
注意:对象字面量的属性名可以加引号,建议不加,但使用一些特殊的属性名时,必须加引号
- 属性名与属性值是一组“键值对”结构。
- ①键与值之间用“:”冒号链接,键值对与键值对之间使用“,”逗号隔开。
- ②如果一个属性之后没有其他的属性了,就不要加“,”逗号。