javascript学习笔记(2):强制类型转换机制和运算符

原创 2016年08月30日 15:59:46

强制类型转换

强制类型转换是指从一种类型隐式地转换成另一种类型。当调用运算符时,javascript会自动判断运算方法并对其进行强制类型转换。

下面来看一下强制类型转换时调用的一些函数


Boolean()

value:undefined、null、false、0、NaN、"",时为false

其他时候为true

注意:

>Boolean(new Boolean(false));

true

new Boolean(false):返回一个Object,Boolean(Object)=true

Number()

转转换成数字

undefined => NaN

null 、false => 0

true => 0

字符串会被解析(只会忽略开头和结尾空格,有特殊字符会解析为NaN)

>Number("123#")

NaN

建议使用ParseInt(ParseFloat):会一直解析到最后一个能解析的字符

>ParseInt("ads123dsa12123213");

123

对象会执行valueOf如果可以解析即为值,如果不能解析再调用toString方法,再解析


String()

将原始值转换成字符串

对象会先调用toString方法


Object()

对象会转换成它们自身

undefined 、 null =》 {}  (空)


Object.valueOf()=this 默认返回 this

Object.toString()='[object object]'默认返回数据类型

可以通过在对象中重载valueOf和toString方法来设置强制类型转换的值


运算符

严格相等(===)与宽松 相等(==)

严格相等必须要求比较的值必须是相同数据类型

普通想等会先尝试将两个不同类型的值进行转换,再使用严格相等来进行比较

注意:

>undefined===undefined >null===null >NaN===NaN
true true false


加号运算符(字符串优先)

加号运算符会对他的运算数进行检测,如果其中一个是字符串,另一个也会转换成字符串,并进行拼接


布尔运算符

&&(遇到false即停止)

||(遇到true即停止)

>0&&x

false

不会执行到x,所以不会报错(x没定义)

>1||x

true

不会执行到x,所以不会报错(x没定义)



版权声明:本文为博主原创文章,未经博主允许不得转载。

JS的类型转换,强制转换和隐式转换

JS的类型转换1.强制转换通过String(),Number(),Boolean()函数强制转换var str=123; var str1='123'; console.log(typeo...
  • sinat_29454619
  • sinat_29454619
  • 2017年07月01日 17:24
  • 1305

C++四种强制类型转换运算符总结

强制转换运算符 有几种特定于 C++ 语言的转换运算符。这些运算符用于删除旧式 C 语言转换中的一些多义性和危险继承。这些运算符是: dynamic_cast  用于多态类型的转换。 ...
  • ywcpig
  • ywcpig
  • 2016年09月01日 22:58
  • 1327

【c/c++】类型转换函数(类型转换运算符重载函数)

用转换构造函数可以将一个指定类型的数据转换为类的对象。但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据)。 C++提供类型转换函数(ty...
  • lzm18064126848
  • lzm18064126848
  • 2016年01月04日 18:09
  • 2653

javascript基础学习笔记

编者寄言:  本文主要为编者读书笔记,在文章里面很多话是掺杂了编者自己的见解,如果有哪里出现错误或者用词不严谨,请友善留言,编者会及时去更改。 本文很多地方只是简单说了一下应该注意的地方,具体代码部分...
  • u012967849
  • u012967849
  • 2016年07月20日 14:08
  • 1905

javascript学习笔记

第一章 一、JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1.交互性(它可以做的就是信息的动态交互) 2.安全性(它不允许直接访问本地硬盘...
  • zhoulenihao
  • zhoulenihao
  • 2013年09月04日 23:04
  • 3978

JavaScript学习笔记

JavaScript学习笔记1.六种数据类型 原始类型: number string boolean null ...
  • wuya814070935
  • wuya814070935
  • 2015年08月31日 10:34
  • 913

js学习笔记(比较全)

什么是JavaScript? 1. JavaScript 是一种客户端脚本语言(脚本语言是一种轻量级的编程语言)。 2. JavaScript 通常被直接嵌入 HTML 页面。 3....
  • jiangzhongwei_
  • jiangzhongwei_
  • 2016年07月22日 20:12
  • 552

JAVASCRIPT学习笔记之强制类型转换

点击有惊喜 最近在读《你不知道的javascript》系列图书,收获蛮大,感慨也挺多的。 是的,关于javascript,你不是不知道,而是真的不知道。 就比如类型转换,从开始到...
  • yunqishequ1
  • yunqishequ1
  • 2017年11月08日 14:11
  • 120

C++四种类型转换机制

本文主要借鉴自cplusplus中关于类型转换的内容。传统的类型转换主要有以下两种形式:double x = 10.3; int y; y = int (x); // functional no...
  • Swartz2015
  • Swartz2015
  • 2017年04月07日 21:50
  • 631

强制类型转换运算符

强制类型转换运算符 C++有四种强制类型转换符,分别是dynamic_cast,const_cast,static_cast,reinterpret_cast。其中dynamic_cast与运行...
  • jfkidear
  • jfkidear
  • 2013年03月05日 20:04
  • 669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript学习笔记(2):强制类型转换机制和运算符
举报原因:
原因补充:

(最多只允许输入30个字)