JavaScript指南-01

63 阅读2分钟

关于原始类型和引用类型数据:字符串的使用一般场景下直接声明使用,如果调用字符串继承的属性和方法时会创建临时的对象 new String() 进行调用或是赋值等,之后便销毁。创建的字符串对象为临时对象之后便销毁。

NaN:非数字的数字,期望转为一个数字但是无法转换或是转换无意义时返回 NaN

value.toString() 所有对象继承该函数,通过调用该方法进行字符串转换,支持radix参数传递进行进制转换,nullundefined 不支持调用

  • value 为数组时,返回数组每个元素逗号连接的字符串
  • value 为函数时,返回这个函数的实现定义的表达方式
  • value 为正则,返回字符串类型的正则
  • value 为对象时,({}).toString() 返回 [object, object]
  • value 为日期时,返回可读的日期字符串

valueOf(): 所有对象继承该函数,解释为如果有任意原始值,它就默认将对象转换为表示它的原始值。nullundefined 不支持调用

对象转字符串:

  • 如果该对象可以调用 toString() 且返回值为原始值,如果该返回值为字符串则直接返回,否则转换为字符串后返回
  • 如果没有 toString() 或是返回值不为原始值,则判断是否可以调用 valueOf(),如果可以调用且返回值为原始值,则直接返回该值或是转换字符串再返回
  • null 返回 'null'
  • undefined 返回 'undefined'

对象转数字:

  • 调用 valueOf() 返回原始值或是类型转换之后再返回
  • 调用 toString() 返回原始值或是类型转换之后再返回
  • null 返回 0
  • undefined 返回 NaN

parseInt和parseFloat:转换数字类型,尽可能的转换多的数字字符,并忽略后面的非数字字符

布尔值转换:真值、假值:undefinednull、0、+-0、""、NaN

  • 和 == 进行类型转换时,直接使用返回的原始值,而不会进行二次转换
  • 左右操作数均转换为数字