JS运算符的运用

一、运算符

         定义:运算符也叫做操作符,对两个值或多个值进行运算,并获取运算结果的符号或者函数。(例如:type of 就是一个运算符,通过它可以获取一个值的类型,并且已字符串的形式返回)

(一)算数运算符

注:当非Number类型进行算数运算时,先将其转换为Number类型再进行算数运算,NaN与任何数进行运算值都为NaN。

(1)+:对两个或者多个值进行相加,并返回结果

          1. 如果两个值都为字符串,相加的结果就是字符串拼接。

           2.任何数与字符串进行相加,都先将其转化为字符串再进行拼接。

                       result = true+1;//2

                        result = null+1;//1

                        result= "123"+1;//1231

                        result= true+"hello";//truehello

                         result=1+2+"3";//33

                          result="1"+2+3;//123

(2)-:对两个或者多个值进行相减,并返回结果

                            result=100-true;//99

                             result=100-"1";//99

(3)*:对两个或者多个值进行相乘,并返回结果

                              result=2*"6";//12

                              result=2*null;//0

                             result=2*undefined;//NaN

(4)/:对两个或者多个值进行相除,并返回结果

(5)%:对数值进行取模运算,并返回结果

                             result=9%3;//0

                              result=9%4;//1


(二)、算数运算衍生出来的强制类型转换。

衍生转换为Number的类型

1、变量-0可以转化为Number

2、变量*1可以转化为Number

3、变量/1可以转化为Number

(三)、一元运算符

(1)、+对于数值来说没有啥变化

(2)、-可以对数值进行取反

             对于非number的值进行取反运算时,先将其转化为Number类型,对其进行取反,也可以通过+来进行转换类型其原理与Number()一样,该属于隐式转换

               var result =1 + +"2" + 3;//6

(四)、自增自减运算

1、自增++

    --使用自增可以使变量在自身的基础上增加1,对于一个变量自增以后,原变量的值会立即加1

    --自增分为两种:后++(a++),前++(++a)

  相同:无论时a++ 还是++a,都会使原变量的值加1

  不同:a++和++a的值不同 a++的值等于原变量的值

  ++a得值等于新值

2、自减--

    --使用自减可以使变量在自身的基础上减1,对于一个变量自减以后,原变量的值会立即减1

--自增分为两种:后--(a--),前--(--a)

  相同:无论时a-- 还是--a,都会使原变量的值减1

  不同:a--和--a的值不同 a--的值等于原变量的值

  --a得值等于新值

(五)、逻辑运算符

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

!非

----!可以用来对一个值进行非运算(对布尔值进行取反操作)

----如果对非布尔值进行非运算,则将其转换成布尔值,然后再取反

          所以我们可以利用该特点,来将一个其他的数值类型转化为boolean

          可以为一个任意数据类型取两次反,来将其转化为布尔类型

原理Boolean()函数一样

&& 与

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

----运算规则:

            两侧都为true运算结果为ture

           只要有一个false运算结果就为false

----JS中的”与“属于短路与,

                如果第一个为false则不会看第二个值

    //var result=true && alert("我能出来吗");后边执行

    //var result=false && alert("我能出来吗");后边不执行

|| 或

-----||可以对符号两侧的值进行与运算并返回结果

----运算规则:

             两侧都为false运算结果为false

             只要有一个true运算结果就为true

----JS中的”与“属于短路或,

             如果第一个为true则不会看第二个值

非布尔类型的情况

&&  ||---对于非布尔值进行与或运算时

        会将其转化为布尔值,然后再运算,并且返回原值

      ---与运算

  -如果第一个值为true,则必然返回第二个值

  -如果第一个为false,则必然返回第一个值

      ---或运算

-如果第一个值为true,则必然返回第一个值

-如果第一个为false,则必然返回第二个值

  //与运算:如果两个都为true,返回后边的值

var result=1 && 2;

//false&&true:如果有false则返回false

result=0 && 2;

result=2 && 0;

//false&&false 两个都为false,返回前边的值

result=NaN&&0;

result=0&&NaN;

(六)赋值运算

赋值运算符

=

可以将右侧值赋值给左侧变量

+=

a+=5相当于a=a+5

-=

a-=5相当于a=a-5

*=

a*=5相当于a=a*5

/=

a/=5相当于a=a/5

%=

a%=5相当于a=a%5

(七)关系运算符

 通过关系运算符可以比较两个值之间的大小关系

如果关系成立他会返回true,如果关系不成立就返回false

 >大于号

  ---判断符号左侧的值是否大于右侧的值

   如果关系成立他会返回true,如果关系不成立就返回false

  >=大于等于

  ---判断符号左侧的值是否大于或等于右侧的值

   如果关系成立他会返回true,如果关系不成立就返回false

  <小于号

  ---判断符号左侧的值是否小于右侧的值

    如果关系成立他会返回true,如果关系不成立就返回false

<=小于等于

  ---判断符号左侧的值是否小于或等于右侧的值

   如果关系成立他会返回true,如果关系不成立就返回false


  非数值的类型

  --对于非数值进行比较时,先将其转化为数字,再进行比较

  --如果两侧都为字符串时,不会将其转换城数字进行比较

  而会分别比较字符串中自符的unicode编码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354