(五)JavaScript之[类型转换]

  1 /**
  2  * 类型转换
  3  *
  4  * JavaScript 数据类型
  5  * 1.不同的数据类型
  6  * string
  7  * number
  8  * object
  9  * boolean
 10  * function
 11  *
 12  * 2.对象类型
 13  * Object
 14  * Date
 15  * Array
 16  *
 17  * 3.不包含任何值的数据类型
 18  * null
 19  * undefined
 20  *
 21  * typeof操作符查看JS的数据类型
 22  *
 23  * constructor(构造器)属性
 24  * */
 25
 26 console.log(typeof(‘John‘));//string
 27 console.log(typeof(3.14));//number
 28 console.log(typeof(NaN));//number
 29 console.log(typeof(false));//boolean
 30 console.log(typeof([1,2,3,4]));//object,数组也是一种对象
 31 console.log(typeof({name: ‘John‘, age:34}));//object
 32 console.log(typeof(new Date()));//object
 33 console.log(typeof(function () {}));//function
 34 console.log(typeof(myCar));//undefined
 35 console.log(typeof(null));//object,null是一个空对象
 36
 37 /**
 38  请注意:
 39  NaN 的数据类型是 number
 40  数组(Array)的数据类型是 object
 41  日期(Date)的数据类型为 object
 42  null 的数据类型是 object
 43  未定义变量的数据类型为 undefined
 44  */
 45
 46 //如果对象是Array或Date,就无法用typeof来判断它们的类型,因为都是返回object
 47
 48 /**constructor(构造器)属性*/
 49 //constructor 属性返回所有JavaScript变量的构造函数
 50 console.log(‘John‘.constructor);//function String() { [native code] }
 51 console.log((3.14).constructor);//function Number() { [native code] }
 52 console.log(false.constructor);//function Boolean() { [native code] }
 53 console.log([1,2,3,4].constructor);//function Array() { [native code] }
 54 console.log({name: ‘John‘, age: 34}.constructor);//function Object() { [native code] }
 55 console.log(new Date().constructor);//function Date() { [native code] }
 56 console.log(function () {}.constructor);//function Function() { [native code] }
 57
 58 //使用constructor属性查看对象是否为数组或日期
 59 function isArray(arr) {
 60     return arr.constructor.toString().indexOf(‘Array‘) > -1;
 61 }
 62
 63
 64 function isDate(date) {
 65     return date.constructor.toString().indexOf(‘Date‘) > -1;
 66 }
 67
 68 console.log(isArray([1,2,3]));//true
 69 console.log(isArray(‘456‘));//false
 70
 71 console.log(isDate(new Date()));//true
 72 console.log(isDate(‘vvv‘));//false
 73
 74 //数字转化为字符串
 75 //String(myNumber) 全局方法
 76 //myNumber.toString() Number对象方法
 77 //更多的Number对象方法:http://www.runoob.com/jsref/jsref-obj-number.html
 78 console.log(typeof(String(123)));//string
 79 console.log(typeof((100 + 23).toString()));//string
 80
 81 //将布尔值转换为字符串
 82 String(false);
 83 String(true);
 84
 85 false.toString();
 86 true.toString();
 87
 88 //将日期转换为字符串
 89 //在 Date 方法 中,你可以查看更多关于日期转换为字符串的函数
 90 //Date方法:http://www.runoob.com/jsref/jsref-obj-date.html
 91 console.log(String(Date()));//Tue Mar 29 2016 23:11:01 GMT+0800 (中国标准时间)
 92 console.log(Date().toString());//Tue Mar 29 2016 23:11:25 GMT+0800 (中国标准时间)
 93
 94 //将字符串转换为数字
 95 //全局方法Number()
 96 //在 Number 方法 中,你可以查看到更多关于字符串转为数字的方法
 97 //Number方法:http://www.runoob.com/jsref/jsref-obj-number.html
 98 console.log(Number(‘3.14‘));//3.14
 99 console.log(Number(" "));//0
100 console.log(Number(""));//0
101 console.log(Number(‘99 88‘));//NaN
102
103 //一元运算符+
104 var y = ‘5‘;
105 console.log(typeof(+y));//number
106
107 //如果不能转换,它仍然会是一个数字,但值为NaN
108 var z = ‘John‘;
109 console.log(typeof(+z));//number
110 console.log(+z);//NaN
111
112 //将布尔值转换为数字
113 console.log(Number(false));//0
114 console.log(Number(true));//1
115
116 //将日期转换为数字
117 console.log(Number(new Date()));//1459265021379
118 console.log(Number(new Date().getTime()));//1459265068371
119
120 //自动转换类型 Type Conversion
121 //当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。
122 console.log(5 + null);//5, null为0
123 console.log(‘5‘ + null);//5null
124 console.log(‘5‘ + 1);//51
125 console.log(‘5‘ - 1);//4
126
127 //当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:
128 document.getElementById("demo").innerHTML = myVar;
129
130 // if myVar = {name:"Fjohn"}  // toString 转换为 "[object Object]"
131 // if myVar = [1,2,3,4]       // toString 转换为 "1,2,3,4"
132 // if myVar = new Date()      // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
133 //数字和布尔值也经常相互转换:
134 // if myVar = 123             // toString 转换为 "123"
135 // if myVar = true            // toString 转换为 "true"
136 // if myVar = false           // toString 转换为 "false"
时间: 2024-10-10 07:33:44

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

javascript 隐性类型转换步骤

原文:javascript 隐性类型转换步骤 这里说的隐性类型转换,是==引起的转换. 如果存在NaN,一律返回false 再看有没有布尔,有布尔就将布尔转换为数字 接着看有没有字符串, 有三种情况,对方是对象,对象使用toString进行转换:对方是数字,字符串转数字:对方是字符串,直接比较:其他返回false 如果是数字,对方是对象,对象取valueOf进行比较, 其他一律返回false null, undefined不会进行类型转换, 但它们俩相等 这个顺序一定要死记,这是面试时经常问到的

PHP第五课 自动类型转换与流程控制

学习概要: 1.了解自动类型转换的有哪些 2.了解基本的流程控制语句 3.实例:实现日历表格的写法 自动类型转换 1)整型转字符串 echo $num."abc"; 2)字符串转整型 $str+3; 3)转布尔类型 为假情况 0 "" "0" false array() null 未定义 4)强制类型转换 (int)$str (float)$str (string)$str 5)常量 define("HOST","l

javascript之类型转换

JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式.基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型. 以下列出JavaScript一种特定类型用于一种特定环境下时所执行的转换. 类型转换 值    字符串    数字  布尔值 对象 未定义  "undefined"    NaN    false   Error null      "null"   

五、数据类型转换

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _5.数据类型转换 {     class Program     {         static void Main(string[] args)         {             // 隐式类型转换             {                 ushort destinati

Javascript数据类型转换

JS是弱类型语言 1.声明变量时,不需要规定变量存储的数据类型 2.赋值时,动态判断数据的类型 同一个变量,先后可保存不同类型的值 3.js会在需要时自动转换数据的类型 两大类转换方式:隐式转换和强制转换 隐式转换 不需要程序员干预,js自动完成的类型转换 算术计算中,一切数据都默认转换为数字,再计算 在+运算中,碰到字符串,+就变为字符串拼接,另一个不是字符串的数据,被自动转换为字符串 特殊情况:如果数据无法被转换为数字类型,会被转为NaN,表示不是一个数字的数字(不是以恶有效的数字) NaN

JavaScript的类型转换( 本贴来自网易前端微专业的个人学习笔记 )

小编的话:如果真正要自己写好JS,首先明白JS类型转换.首先贴出来JS对象的三大分类. 1.浏览器扩展对象:ActiveXObject,XML,Debug,Script,VBArray... 2.宿主对象:window,document,navigator 3.原生对象: (1).构造函数:Boolean,String,Nunber,Object,Function,Array,Date,RegExp,Error (2).对象:Math,JSON,全局对象,arguments 一.JS隐式类型转换

__x__(53)0918第七天__ JavaScript 强制类型转换

其他进制的数字 二进制    以 0b 开头的 Number 八进制    以 0 开头的 Number 十六进制    以 0x 开头的 Number 注意:无论是多少进制的数字,输出都是十进制 强制类型转换 主要指的是将 变量类型 转换为String,Number,Boolean类型. 1. 转换为字符串 String 通过调用 String.toString() 方法 : Null .Undefined 没有 .toString() 方法,意味着不能用此方法转换 var a = 123;

五 JavaScript案例

目录: JS的图片轮播技术: JS完成页面定时弹出广告 简单的用户名校验: 隔行换色 省市联动效果 商品的左右选择 一.JS的图片轮播技术:  需求:若有一组图片,每隔3面钟就去切换一张.  技术分析:切换图片:每个3秒钟做一件事 setInterval(code,millisec[,"lang"]):按照指定的周期(毫秒记)俩调用函数或计算表达式. code:要执行的代码串. millisec:要执行的毫秒数 sertTimeOut():在指定的毫秒数后调用函数或表达式 . clea

javascript 显示类型转换

一.转型函数Boolean() ECMAScript中所有类型的值都有与Boolean值(true和false)等价的值.要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean() 数据类型 转换为true的值 转换为false 的值 Boolean true false String 任何非空字符串 "" (空字符串) Number 任何非零数字值(包括无穷大) 0和NaN Object 任何对象 null Undefined 不适用 undefined Boole