打鸡血文案:只有你足够优秀,才有勇气去匹配所有的优秀!
希望多多指点,多多指教,欢迎批评,评论区等你!
算数运算符:
+ 加
可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接。
任何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作。
也可以通过"+"完成隐式转换。
- 减
可以对两个值进行减法运算,并返回运算结果。
* 乘
可以对两个值进行乘法运算,并返回运算结果。
/ 除
可以对两个值进行除法运算,并返回运算结果。
% 取模
取模运算(取余数)
++ 自增
-- 自减
特别提示:任何值做-(减法)*(乘法)/(除法)运算时自动转换为Number
可以利用这一特性完成隐式转换。
关系运算符:
> 大于
>= 大于等于
< 小于
<=小于等于
== 表示相等的意思
!= 表示不等的意思
=== 全等(数据类型与值都相等)
!== 不全等
运算的结果为布尔值
逻辑运算符
JS中为我们提供了三种逻辑运算符:!非 &&与 ||或
!非
- !可以用来对一个值进行非运算
所谓非运算就是一个布尔值进行取反操作
false变为true,true变为false
-如果对一个值(布尔值)进行2次非运算,它的值不改变
-如果对非布尔值进行运算,则先将它准换为布尔值,再取反操作
利用这一特点。可以将一个值转换为布尔类型:两次非运算
&&与
-&&可以对符号两则的值进行与运算并返回结果
运算规则:两个值只要有一个false,则返回false.
两个值都是true的情况下返回true.
- JS中的"与",只要第一个为false,则返回false。
||或
||可以对符号两则的值进行或运算并返回结果
运算规则:两个值只要有一个true,则返回true.
两个值都是false的情况下返回false.
JS中的”或”,只要第一个为true,则返回true。不会再去检查第二个
赋值运算符
JavaScript赋值运算
= 赋值符
可以将符号右侧的值给左侧的变量
+=
num+=2=>等价于num=num+2
-=
Num-=2=>等价于num=num-2
*=
Num*=2=>等价于num=num*2
/=
Num/=2=>等价于num=num/2
%=
Num%=2=>等价于num=num%2
关系运算符
>大于
>=大于等于
<小于
<=小于等于
运算的结果为布尔值
相等运算符
== 表示相等的意思
!= 表示不等的意思
===全等(数据类型与值都相等)
!==不相等
运算的结果为布尔值
条件运算符
条件运算符也叫做三元运算符
-语法:条件表达式?语句1:语句2: ;
-执行的流程:
条件运算符在执行时,首先对表达式进行求值。
如果该值为true,则执行语句1,并返回执行结果。
如果该值为false,则执行语句2,并返回执行结果。
运算符优先级
JS中的优先级就跟我们数学中的优先级一样
比如在数学中:先乘除 再加减 有括号先算括号里面的
算术操作符
(+、-、*、/、++、--、%)
→(关系操作符)比较操作符
(<、>、==、===、<=、>=、!=)
→ 逻辑操作符
( !非 、&&与 、||或 )
→“=”赋值符号
( = 、+= 、-= 、、、)
JavaScript流程控制语句
什么是流程呢?
好家伙请往下看!
程序中的三种基本流程结构:
- 顺序结构
- 分支结构
- 循环结构
顺序结构:按照顺序一条一条的执行代码,从上到下。
分支结构:执行代码的时候,可以根据条件进行选择,条件越多对应的结果越多,分支也就越多。
例如if…else…语句,switch语句
循环语句:用来重复不断的做一件事,for循环,which循环,do....while循环
JavaScript对象
我们先来复习JS中的数据类型,防止与其他数据类型混乱
String字符串
Number数值
Booleam布尔值
Null空值
Underfind未定义
(以上的5种数据类型为基本数据类型,以后我们看得到值只要不是以上5 种,都为对象数据类型)
Object 对象
对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性
对象的分类:
1.内建对象
- 由ES标准中定义的对象,在任何ES的实现中都可以使用
例如:Math String Number Boolean Function Object...
2.宿主对象
- 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
- 比如:BOM(浏览器对象模型) DOM(文档对象模型)
例如 我们常用的console.log() 就是DOM 中的对象
3.自定义对象
- 由咱们开发人员自己定义的对象
使用new关键字调用的函数,是构造函数constructor
构造函数是专门用来创建对象的函数
var obj=new Object(); //创建对象
在对象中保存的值称为属性:
向对象添加属性的语法:
①对象.属性名=属性值
② 对象["属性名"]=属性值
读取对象属性的语法: ①对象.属性名 ②对象["属性名"](非常重要)
- 注意:如果对象中没有的属性,不会报错而是返回undefined
重要!!!对象的属性值可以是任意的数据类型
重要!!!对象的属性值可以是任意的数据类型
重要!!!对象的属性值可以是任意的数据类型
下面看一下,通过构造函数的方式创建对象:
中的属性的添加和属性的删除
添加对象的属性:
var obj=new Object();
obj.name=”zhangsan”; //给对象添加属性
obj.sex=”nan’’;
obj[“tel”]=”37669900”; //添加属性的一种方式
Obj[“123”]=”nnvsuvoidn”;
console.log(obj); //控制台的输出
删除对象的属性:
delete obj[“123”]; //delete 删除
console.log(obj.sex); //获取这个人的性别;
console.log(obj.[“name”]; //使用中括号添加属性
区分一下,通过构造函数创建对象与通过字面量来创建对象:
通过构造函数创建一个对象:
var obj=new Object();
通过字面量来创建一个对象:
var obj={}; //使用花括号
通过字面量的方式创建对象(javascript对象字面量)
使用对象字面量,可以在创建对象时,直接指定对象中的属性。
语法:{属性名1:属性值1,属性名2:属性值2,、、、}
属性名与属性值是一组键值对结构,键与值之间用”:”冒号链接,
对个键值对之间使用”,”逗号隔开,
如果一个属性之后没有其他的属性就不要写”,”逗号。
对象字面量的属性名可以加引号,也可以不加,建议不加;
扩展一下下:待你学到jQuery,jQuery中的属性必须得加上双引号,区别来的啊!
如果要使用一些特殊的属性名,必须加上引号。
属性名:
对象的属性名不强制要求遵守标识符规则
什么名称都可以,但是不允许这里使用,我们自己定义的使用都必须遵守标识符规则。
in运算符
通过该运算符检查一个对象中是否含有指定的属性
如果含有则返回true,如果没有则返回false
语法 :"属性名" in 对象
23..JavaScript基本数据类型与引用数据类型
- 基本数据类型:String Number Boolean Null Undefined
- 引用数据类型:Object
- JS中的变量都是保存在栈内存中的
基本数据类型的值直接在栈内存中存储,
值与值之间是独立存在的,
修改一个变量不会影响到其他的变量
对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间,而变量保存的是对象的内存地址(对象的应用)。
如果两个变量保存的是同一个对象引用,当其中一个通过变量
修改属性时,另外一个也会受到影响。
上面两个变量保存的是同一个对象引用,所有呢!当其中一个对象通过变量修改属性时,另外一个也会跟着它受到影响。