重零开始学前端-基础(2) 运算符和数据转换

  在上篇文章,我简单介绍了js中的数据类型,现在主要介绍js中的运算符合数据转换。运算符就是通过+、-、*、/等方式来对数据变量进行更改或重新赋值的一个过程,在此期间代码结构非常简单,但是因为组合的方式比较多,有些时候也不好理解,所以我会配置大量的中文讲解,言语会比较拖拉,但是觉得简单易懂。

  在js中运算符通常有三种使用方式:

    1.+、-、*、/、%(取余)

    2.+=、-=、*=、/=、%=

    3.++、--

  那么对应着,在运算的过程中不可避免会对原有的数据结构进行更改,那么这种方式成为数据类型转换。

  同样数据类型一般有三种转换方式:

    1.隐式转换:计算机自己本身运算,造成数据的更改称为隐式转换。

    2.显式转换:通过特定的方法对原有数据结构更改,如parseFloat或.toString()成为显示转换(也可以理解为看得见摸得着)

    3.强制转换:通过特定的数据类型结构对某一个变量进行类型方式转换,称之为强制转换。(不成功,就成仁)

  上面的定义我们先放在那里,先看一个比较简单的代码

   var a = "你好";

  var b = "张三";

  var c = "5";

  var d = "4";

  1. a+b  // 你好张三
  
  2. a+c  // 你好5

  3. a-b  // NaN

  4. a-c  // NaN

  5. c-d  // 1

  好啦,是不是神神奇的结果,我们一点点来进行解读。

  首先第一个开始:string字符串类型由一个最强大的特性,即无论与任何数据结构进行相加,最终得到的结果一定是字符串,如果我们队 "11"+1 那么最终的结果是将 字符串的数据11和数字1进行拼接,最终得到   "11"+1 = "111"

  string字符串在本身是一个数字结构的情况下,允许进行除加法外的任何算法,如减、乘、除、余等 并最终返回一个数字

  如:  "22"/2 = 11  、 "33.2"*2 = 66.4 

  当然也会有些奇葩的操作  如:"你好"/2 = NaN 在这里 因为字符串本身不是纯数字组成的 所以没有办法进行合理的计算,最终运算失败,但是有些时候为了后续程序的运行和逻辑,我们不想让程序报错,否则无法执行,这样浏览器提供了一个全新的数据类型表达方式  NaN ,正常的名称为 not a number, 即不是一个数字。

  

 

 

posted @ 2017-02-23 13:18  做一名靠谱的大前辈  阅读(160)  评论(0编辑  收藏  举报