/**
* 类型转换
*
* JavaScript 数据类型
* 1.不同的数据类型
* string
* number
* object
* boolean
* function
*
* 2.对象类型
* Object
* Date
* Array
*
* 3.不包含任何值的数据类型
* null
* undefined
*
* typeof操作符查看JS的数据类型
*
* constructor(构造器)属性
* */ console.log(typeof('John'));//string
console.log(typeof(3.14));//number
console.log(typeof(NaN));//number
console.log(typeof(false));//boolean
console.log(typeof([1,2,3,4]));//object,数组也是一种对象
console.log(typeof({name: 'John', age:34}));//object
console.log(typeof(new Date()));//object
console.log(typeof(function () {}));//function
console.log(typeof(myCar));//undefined
console.log(typeof(null));//object,null是一个空对象 /**
请注意:
NaN 的数据类型是 number
数组(Array)的数据类型是 object
日期(Date)的数据类型为 object
null 的数据类型是 object
未定义变量的数据类型为 undefined
*/ //如果对象是Array或Date,就无法用typeof来判断它们的类型,因为都是返回object /**constructor(构造器)属性*/
//constructor 属性返回所有JavaScript变量的构造函数
console.log('John'.constructor);//function String() { [native code] }
console.log((3.14).constructor);//function Number() { [native code] }
console.log(false.constructor);//function Boolean() { [native code] }
console.log([1,2,3,4].constructor);//function Array() { [native code] }
console.log({name: 'John', age: 34}.constructor);//function Object() { [native code] }
console.log(new Date().constructor);//function Date() { [native code] }
console.log(function () {}.constructor);//function Function() { [native code] } //使用constructor属性查看对象是否为数组或日期
function isArray(arr) {
return arr.constructor.toString().indexOf('Array') > -1;
} function isDate(date) {
return date.constructor.toString().indexOf('Date') > -1;
} console.log(isArray([1,2,3]));//true
console.log(isArray('456'));//false console.log(isDate(new Date()));//true
console.log(isDate('vvv'));//false //数字转化为字符串
//String(myNumber) 全局方法
//myNumber.toString() Number对象方法
//更多的Number对象方法:http://www.runoob.com/jsref/jsref-obj-number.html
console.log(typeof(String(123)));//string
console.log(typeof((100 + 23).toString()));//string //将布尔值转换为字符串
String(false);
String(true); false.toString();
true.toString(); //将日期转换为字符串
//在 Date 方法 中,你可以查看更多关于日期转换为字符串的函数
//Date方法:http://www.runoob.com/jsref/jsref-obj-date.html
console.log(String(Date()));//Tue Mar 29 2016 23:11:01 GMT+0800 (中国标准时间)
console.log(Date().toString());//Tue Mar 29 2016 23:11:25 GMT+0800 (中国标准时间) //将字符串转换为数字
//全局方法Number()
//在 Number 方法 中,你可以查看到更多关于字符串转为数字的方法
//Number方法:http://www.runoob.com/jsref/jsref-obj-number.html
console.log(Number('3.14'));//3.14
console.log(Number(" "));//
console.log(Number(""));//
console.log(Number('99 88'));//NaN //一元运算符+
var y = '5';
console.log(typeof(+y));//number //如果不能转换,它仍然会是一个数字,但值为NaN
var z = 'John';
console.log(typeof(+z));//number
console.log(+z);//NaN //将布尔值转换为数字
console.log(Number(false));//
console.log(Number(true));// //将日期转换为数字
console.log(Number(new Date()));//
console.log(Number(new Date().getTime()));// //自动转换类型 Type Conversion
//当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。
console.log(5 + null);//5, null为0
console.log('5' + null);//5null
console.log('5' + 1);//
console.log('5' - 1);// //当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:
document.getElementById("demo").innerHTML = myVar; // if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]"
// if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4"
// if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
//数字和布尔值也经常相互转换:
// if myVar = 123 // toString 转换为 "123"
// if myVar = true // toString 转换为 "true"
// if myVar = false // toString 转换为 "false"

(五)JavaScript之[类型转换]的更多相关文章

  1. javaScript的类型转换

    1.javaScript会自动跟据期望将值进行转换,比如 2.下面表列出了一些javaScript的自动转换,其中粗体字表示了出乎意料的转换情况 3.显示的类型转换 尽管类型可以自动进行一些转换,但是 ...

  2. JavaScript数据类型转换

    原文转自:http://javascript.ruanyifeng.com/grammar/conversion.html#rd JavaScript是一种动态类型语言,变量是没有类型的,可以随时赋予 ...

  3. javascript之类型转换

    JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式.基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换 ...

  4. JavaScript学习总结(五)——Javascript中==和===的区别

    一.JavaScript"=="的作用 当==两边的内容是字符串时,则比较字符串的内容是否相等. 当==两边的内容是数字时,则比较数字的大小是否相等. 当==两边的内容是对象或者是 ...

  5. JavaScript数据类型转换汇总

    ECMAScirpt中的数据类型:undefined.Null.Boolean.Number.String.Object 对一个值使用typeof操作符可能返回下列某个字符串: number(数字). ...

  6. JavaScript 数据类型转换表

    下表显示了将不同的JavaScript值转换为Number,String和Boolean的结果: 原始值 转换为Number 转换为String 转换为Boolean false 0 "fa ...

  7. JavaScript原始类型转换和进制转换

    1.JavaScript转换包括:强制转换和基本转换 如: var  str = 'A',num=10,nu=null,t=true,und=undefined,x; //注意:定义的x未被初始化:默 ...

  8. JavaScript: 自动类型转换-续

    在上一篇文章中,我们详细讲解了JavaScript中的自动类型转换,由于篇幅限制,没能覆盖到所有的转换规则,这次准备详细讲解一下. 上次我们提到了对象类型参与运算时转换规则: 1). 在逻辑环境中执行 ...

  9. JavaScript: 自动类型转换

    我们都知道,JavaScript是类型松散型语言,在声明一个变量时,我们是无法明确声明其类型的,变量的类型是根据其实际值来决定的,而且在运行期间,我们可以随时改变这个变量的值和类型,另外,变量在运行期 ...

随机推荐

  1. 8、OpenCV Python 图像直方图

    __author__ = "WSX" import cv2 as cv import numpy as np from matplotlib import pyplot as pl ...

  2. [国家集训队]特技飞行 贪心BZOJ2697

    题目背景 1.wqs爱好模拟飞行. 2.clj开了一家神犇航空,由于clj还要玩游戏,所以公司的事务由你来打理. 注意:题目中只是用了这样一个背景,并不与真实/模拟飞行相符 题目描述 神犇航空开展了一 ...

  3. servlet验证2

    登录界面 登录成功后 数据库 地址:https://gitee.com/lgcj1218/j2eehomework/tree/master

  4. 使用cookie实现自动登录

    一.从登录——>主页面,进行的过程是,输入 用户名和密码,以及验证码,点击“登录”跳转到Activity.jsp login1.action(跳转到登录页面) /** 跳转到login(有积分排 ...

  5. C语言关于++i,--i,i++,i--

    ++i 和--i 指的是先进行运算,再进行调用(运算符在前) i++和i--指的是先进行调用,再进行运算(运算符在后) 举例: int k,i=5;k=i++;//k得到5i=5;k=++i;//k得 ...

  6. P4824 [USACO15FEB]Censoring (Silver) 审查(银)

    传送门 一个串的匹配肯定考虑KMP 那就暴力KMP 记录一下到每个字符时匹配的位置 找到一个符合的串就标记然后暴力回跳 感觉好像太暴力了... #include<iostream> #in ...

  7. Codeforces Round #529 (Div. 3) C. Powers Of Two

    http://codeforces.com/contest/1095/problem/C 题意:给n找出k个2的幂,加起来正好等于n.例如 9,4:9 = 1 + 2 + 2 + 4 思路:首先任何数 ...

  8. PHP的魔术常量

    PHP的魔术常量(变量).魔术方法(函数).超全局变量 一.魔术常量(魔术变量) 概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位置而变化. 1.__LINE__  获取文件中的 ...

  9. bs4的简单使用

    一.使用流程 解析流程: 1.pip install bs4 2.导包:from bs4 import BeautifulSoup 3.实例化一个BeautifulSoup对象(将页面源码数据加载到该 ...

  10. mc04_IntelliJ IDEA常用设置

    字体设置 File --> Settings --> Font 项目编码设置 File --> Settings --> File Encodings 项目依赖 即一个项目引用 ...