javascript数据类型隐式转换

一、函数类

isNaN()

该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true;

alert()

输出的内容隐式的转换为字符串

二、运算符类

1.算数运算符

-  *   /  %

如果操作数不是数值,将会隐式的调用Number()函数,按照这个函数的转换规则进行转换,如果转换不成功,整个表达式返回NaN

+

如果操作数都是数值,然后进行相加

任何数据类型和字符串相加,都会隐私的调用他们的toString()方法,然后返回他们拼接的结果。

如果操作数都是布尔值,那么进行Number()转换,false为0,true为1,进行相加。

2.关系运算符

关系运算符的操作数可以是任何类型,如果操作数不是数值类型,将会隐式的转换

(1)他运算的结果都是布尔值

(2)都是字符串的时候,他会先隐式转换成ASCII码然后进行比较他们的第一个字  母。

(3)都是数值的时候,他会正常比较

(4)当一个字符串,另一个是数值的时候,把字符串尝试转换成Number()数值类型,  然后进行比较,如果不能转换成数值类型,则会返回NaN,然后返回假

(5) undefined == null

(6)如果两个都是数值型字符串,那么他们隐式转换成ASCII码,也是只比较第一个

(7)如果一个数值和布尔值进行比较,会把布尔值隐式转换为数值再进行比较,true       为1,false为  0

3.等性运算符 ==  !=

会对操作数隐式的转换后再比较值

(1)如果其中至少有一个是布尔值,那么会隐式的调用Number()进行转换,然后比较。

(2)如果一个为字符串。另一个为数值,那么会隐式的调用Number()对字符串进行转     换,如果转换不成功,则返回false;

(3) undefined == null

(a)  比较字符串的时候是比较他们的ASCII码是否相等

(b)  比较两个数值的时候是比较他们的数值是否相等

(c)  比较函数的时候,判断他们的位置是否相等。

4.逻辑运算符

A. 放在表达式里面用于判断。

B. 给变量赋值

var a= b && c

如果一个运算数是对象,另一个是隐式的调用Boolean()函数,返回该对象。

如果两个运算数都是对象,返回第二个对象。

如果某个运算数是 null,返回 null。

如果某个运算数是 NaN,返回 NaN。

如果某个运算数是 undefined,发生错误。

var a=b ||c

如果一个运算数是对象,并且该对象左边的运算数隐式的调用Boolean()函数 值为false,则返回该对象。

如果两个运算数都是对象,返回第一个对象。

如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null。

如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN。

如果某个运算数是 undefined,发生错误。

三、语句类

if(表达式){

}else{

}

格式: var  变量=  Boolean expression?真值:假值

while(){

}

if语句和三元表达式里面的表达式会隐式的调用Boolean()函数,按照这个函数的转换规则,转换为相应的布尔值

时间: 2024-08-01 22:46:53

javascript数据类型隐式转换的相关文章

JavaScript复习之--javascript数据类型隐式转换

JavaScript数据类型隐式转换.一,函数类    isNaN()    该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true.    alert()    输出的内容隐式的转换为字符串. 二,运算符类.    1,算术运算符.       - * / %    如果操作数不是数值,将会隐式的调用Number()函数.按照这个函数的转换规则进行转换.    如果转换不成功,整个表达式返回NaN.       +     如果操作数都是数值,然后进行相加.    任何数据

JavaScript的隐式转换

原文:JavaScript的隐式转换 JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它的五种是基本类型或者是原始类型.我们可以用typeof方法打印来某个是属于哪个类型的.不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换.隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等.. typeof '11' //string typeof(11) //number '1

SQL Server有意思的数据类型隐式转换问题

写这篇文章的时候,还真不知道如何取名,也不知道这个该如何将其归类.这个是同事遇到的一个案例,案例比较复杂,这里抽丝剥茧,仅仅构造一个简单的案例来展现一下这个问题.我们先构造测试数据,如下所示: CREATE TABLE TEST (   ID    INT,   GOOD_TYPE  VARCHAR(12),   GOOD_WEIGHT NUMERIC(18,2) )   INSERT INTO dbo.TEST VALUES( 1, 'T1',1.27) SELECT  GOOD_TYPE,

JavaScript —— 常用数据类型隐式转换

公用方法: let checkType = (data) => { if(data){ console.log(true); }else{ console.log(false); } } 一.字符串 checkType('hello~'); // true checkType(''); // false 总结: 空字符串会被转换为 false,非空字符串会被转换为 true. 二.数值 checkType(10); // true checkType(10.5); // true checkTy

js数据类型隐式转换笔记以及js包装对象

“37”+7              //377 “37”-7              //30 巧用+/-规则  变字符串  x+''   变数字x-0 js里面的==是不严格等于 “123” == 123 0 == false nul l== undefined new  Object() == new Object() [1,2]==[1,2] 但是[1,2]===[1,2]是错的 因为比较的是对象的引用 ps: NaN值和任何东西比较都不相等 即便是不严格等于 ———————————

JavaScript的数据类型的隐式转换

什么是弱类型语言?计算机语言的类型可以分为强类型和弱类型两种. 二者之间的区别,就在于计算时,不同类型数据是否可以透明的隐式转换.如果一个语言可以隐式转换它的所有类型,那么它的变量.表达式等在参与运算时,即使类型不正确,也能通过隐式转换来得到正确的类型,这样的语言就属于弱类型语言. 与此相对,强类型语言的类型之间不一定有隐式转换. 弱类型相对于强类型来说,类型检查更不严格,比如允许变量类型的隐式转换,允许强制类型转换等等,而强类型语言一般不允许这么做.一.1+"2"+"2&q

oracle数据类型及其隐式转换

oracle有三种最基本的数据类型,即字符型.数值型.日期型. oracle提供的单行函数中,针对不同的数据类型,提供大量实用的函数,同时提供一系列数据类型转换函数,如下: 1)to_char     数值.日期->字符型     语法:to_char(num|date,[format mask],[nls_parameters])     参数:num|date 待转换的数值或者日期             format mask:可选参数 数字->字符型的可用格式 格式元素 元素说明 格式

JavaScript中关于隐式转换的一些总结

JavaScript运算符中的隐式转换规律:一.递增递减运算符(前置.后置)1.如果包含的是有效数字字符串或者是有效浮点数字符串,则会将字符串转换(Number())为数值,再进行加减操作,返回值的类型是:number类型.2.如果不包含有效数字字符串,则会将字符串的值转换为NaN,返回值的类型是:number类型.3.如果是boolean类型,则先会把true或者false转换为1或者0,再进行加减操作,返回值的类型是:number类型.4.如果是null类型,则先会把null转换为0,在进行

javascript隐式转换详解

Javascript是web前端开发的必学技术,今天和大家分享的就是javascript的基础知识隐式转换,希望可以帮助大家更好的学习. 转换成布尔类型假 undefined->falSe null->falSe 数值型0或0.0或NaN->falSe 字符串长度为0->falSe 其它对象->true <html> <head> <meat charSet=”utf-8”> <title></title> <