菜鸟学习javascript26 运算符(1)

1 一元运算符

(1)递增++和递减 - -

   var  box = 100;

         ++box             //box = box + 1 ;

          box++               //box= box +1 ;

(2) 前置和后置的区别

      前置 运算先累加或者累减再赋值;

      后置  先赋值再累加或者累减

          var box = 100;

          var age = box++              //box = 100+1  赋值给age

          var  age = ++box             // age = box;然后box+1;

 (3)其他类型运用一元运算符

     字符串类型

   A:  var box = “89”;

              box++                  // 对于数字字符串  有隐形的转换功能,自动转化成数字类型

  B:var box = “ab”;

             box++                  // 字符串包含非数字值转换为NaN

     布尔类型

       var box =false;

              box++                  //false转换成数值是0,累加1 结果为1;

      对象类型

        var box = {

                     toString:function(){ return}

             };

         box++                  //结果为1  不执行toString()或者value() 方法为NaN

(4)一元加减运算符

1.用于类型转换

2.用于算术运算

3.加法用于取整,减法用于取负。

var box = 1;

-box ;

+box;

2.算术运算符

ECMAscript定义了五个算术运算符,加(+)减(-)乘(*)除(/)求模(取余)。

如果在算术运算的值不少数值,那么后台会自动调用number()函数将其转化成数值。

(1) 加法

a如果都是数值

var  box = 1+2;                        //结果为3   

var  box = 1+NaN                      //结果为NaN   只要一个数值是NaN 就为NaN

var box = Infinity 加 Infinity          //结果为 Infinity

var box = -Infinity 加 - Infinity    //结果为 -Infinity

var box = Infinity 加 -Infinity      // 结果为 NaN  正无穷和负无穷为非负数

var box = +0 加 +0 ;              //  结果为+0

var box = -0 加 -0 ;              //  结果为-0

var box = +0 加 -0 ;              //  结果为+0

b如果一个操作数是字符串

b1: 如果两个数都是字符串,则讲两个字符串拼接起来

var  box = a + b ;              // 结果是ab

b2:如果只有一个是字符串,则将不是的字符串变成字符串,再拼接起来

var box = 7 + “9”;           // 结果是79

c 如果操作数 是对象和布尔值

调用他们的toString()获得相应的字符串值,再利用相关的字符串值

D 如果是undefined 和 null

则调用string()函数并取得字符串“undefined”和“null”。

(2) 减法

a如果都是数值

var  box = 1+2;                        //结果为3  如果两个操作符都是数值,则执行常规的算术减法操作并返回结果。

var  box = 1-NaN                      //结果为NaN  如果一个操作符是NaN 就为NaN

var box = Infinity 减 Infinity          //结果为 NaN

var box = -Infinity减 - Infinity    //结果为NaN

var box = Infinity 减 -Infinity      // 结果为Infinity

var box =- Infinity 减 Infinity      // 结果为-Infinity

var box = +0 减+0 ;              //  结果为+0

var box = +0 减 -0 ;              //  结果为-0

var box = -0 加 -0 ;              //  结果为+0

b如果一个操作数是字符串,布尔值,Null或者undefined

先在后台调用number()函数将其转化为数值,然后再根据前面规则执行减法计算。如果转换的结果是NaN,则减法的结果就是NaN。

c 如果一个操作数是对象

则调用对象的valueOf()方法以取得该对象的数值。

如果得到的结果是NaN,则减法的结果就是NaN。

如果对象没有valueOf()方法,则调用toString()方法并将得到的字符串转化为数值。

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

推荐阅读更多精彩内容