JavaScript运算符,对象

9 篇文章 0 订阅
8 篇文章 0 订阅

JavaScript运算符对象


1.JavaScript运算符:

算数运算符

+ 加  

可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接

任何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作

也可以通过"+"完成隐式转换

- 减

可以对两个值进行减法运算,并返回运算结果

* 乘

可以对两个值进行乘法运算,并返回运算结果

/ 除

可以对两个值进行除法运算,并返回运算结果

% 取模

取模运算(取余数)

++ 自增

-- 自减

特别提示:任何值做 -  *  /  运算时自动转换为Number

可以利用这一特性完成隐式转换。

         一个数值加一个字符串控制台输出为字符串。

②逻辑运算符

JS中为我们提供了三种逻辑运算符

! 非

    ! 可以用来对一个值进行非运算

   所谓非运算就是对一个布尔值进行取反操作

   false变为true ,true变为false

    如果对一个值(布尔值)进行2次非运算,它的值不改变

    如果对非布尔值进行运算,则先将它准换为布尔值,再取反操作

    利用这一特点,可以将一个值转换为布尔类型:两次非运算

&& 与

    &&可以对符号两则的值进行与运算并返回结果

     运算规则:两个值只要有一个false,则返回false

     两个值都是true的情况下,返回true

    JS中的"与",只要第一个为false,则返回false。不会再去检查第二个值

|| 或

    ||可以对符号两则的值进行或运算并返回结果

     运算规则:两个值只要有一个true,则返回true

     两个值都是false的情况下,返回false

    JS中的"或",只要第一个为true,则返回true。不会再去检查第二个值

赋值运算符

= 赋值符

可以将符号右侧的值赋值给左侧的变量

+=

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;  var max=a>b?a:b;

 执行的流程:

  条件运算符在执行时,首先对表达式进行求值。

  如果该值为true,则执行语句1,并返回执行结果

  如果该值为false,则执行语句2,并返回执行结果

 

var a=340;

  var b=30;

  比较a与b谁大

  var max=a>b?a:b;

  console.log(max);

2.JavaScript运算符的优先级

JS中的优先级就跟我们数学中的优先级一样,

比如在数学中:先乘除 再加减 有括号先算括号里面的

 

算术操作符   → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号

 (+,-,*,/,++,--,%) (<,>,==,===,<=,>=,!=)     (&&,||,!)     (=,+=,-=,..)

3.JavaScript流程控制语句

什么是流程?

程序中的三种基本流程结构:

1.顺序结构:按照顺序一条一条的执行代码,从上到下。

2.分支结构:执行代码的时候,可以根据条件进行选择,条件越多对应的结果越多,分支也就越多。例如if…else…语句,switch语句

3.循环结构:用来重复不断的做一件事,for循环,while循环,do…while循环

 

4.JavaScript对象

 对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性

对象的分类:

1.内建对象

 由ES标准中定义的对象,在任何ES的实现中都可以使用

例如:Math String Number Boolean Function Object...

2.宿主对象

 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象

 比如:BOM(浏览器对象模型)  DOM(文档对象模型)

  例如 我们常用的console.log() 就是DOM 中的对象

3.自定义对象

 由咱们开发人员自己定义的对象

 

创建对象

 使用new关键字调用的函数,是构造函数constructor

 构造函数是专门用来创建对象的函数

        var obj=new Object();//创建对象

 

在对象中保存的值称为属性

   向对象添加属性的语法: ①对象.属性名=属性值 ② 对象["属性名"]=属性值

   读取对象属性的语法: ①对象.属性名 ②对象["属性名"]

注意:如果对象中没有的属性,不会报错而是返回undefined

重要!!!对象的属性值可以是任意的数据类型

 

为对象添加属性

obj.name="zhangsan";

obj.age=21;

obj.tel="13894558732";

console.log(obj);

获取对象中的属性值

console.log(obj.tel);

console.log(obj.adress);

console.log(obj["name"]);

修改对象的属性值

obj.age=22;

删除对象的属性

delete obj.tel;

console.log(obj);

 

属性名:

对象的属性名不强制要求遵守标识符规则

什么名称都可以,但是不允许这里使用,我们自己定义的使用都必须遵守标识符规则

 

in运算符

通过该运算符检查一个对象中是否含有指定的属性

如果含有则返回true,如果没有则返回false

语法 :"属性名" in 对象

例如:console.log("adress" in boss);

5.JavaScript基本数据类型与引用数据类型

- 基本数据类型:String Number Boolean Null Undefined

- 引用数据类型:Object

 

- JS中的变量都是保存在栈内存中的

基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响到其他的变量

对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间,而变量保存的是对象的内存地址(对象的应用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另外一个也会受到影响。

JavaScript对象字面量

1.创建一个对象

var obj=new Object();

2.使用对象字面量来创建一个对象

var obj={};

 

使用对象字面量,可以在创建对象时,直接指定对象中的属性

语法:{属性名1:属性值1,属性名2:属性值2,...}

对象字面量的属性名可以加引号,也可以不加,建议不加

如果要使用一些特殊的属性名,则必须加上引号

 

属性名与属性值是一组键值对结构,

键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开

如果一个属性之后没有其他的属性了,就不要写","逗号

例如:

             obj.name="zhangshan";

             obj["123"]="123234234";

 

           obj={

                  name:"zhangdan",

                  age:23,

                  adress:"九王庙兴业路8号",

                  "123":"helloworld"

               };

         console.log(obj["123"]);

         console.log(obj.name);

 

      var boss={

                  name:"马云",

                  age:40,

                  emp:{

                         name:"小王",

                         age:23,

                         tel:"13509667867"

                       }

              };

          console.log(boss.emp.tel);

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可乐沙司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值