![]() |
谦逊的板栗 · Windows下查看进程及结束进程命令 - ...· 8 月前 · |
![]() |
开朗的山楂 · java8中的Collectors.grou ...· 1 年前 · |
![]() |
捣蛋的针织衫 · 爬虫神器pyppeteer,对 js ...· 1 年前 · |
![]() |
深情的钱包 · vue3.0如何关闭eslint校验的三种方 ...· 1 年前 · |
![]() |
留胡子的针织衫 · Python中类对象的动态赋值 - 叶迩 ...· 2 年前 · |
如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。
constructor 属性返回所有 JavaScript 变量的构造函数。
"John" .constructor // 返回函数 String() { [native code] }function isArray(myArray) {
你可以使用 constructor 属性来查看对象是否为日期 (包含字符串 "Date"):
function isDate(myDate) {Number 方法 toString() 也是有同样的效果。
x.toString()在 Number 方法 章节中,你可以找到更多数字转换为字符串的方法:
toExponential() 把对象的值转换为指数计数法。 toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。 toPrecision() 把数字格式化为指定的长度。 String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)Date 方法 toString() 也有相同的效果。
在 Date 方法 章节中,你可以查看更多关于日期转换为字符串的函数:
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getFullYear() 从 Date 对象以四位数字返回年份。 getHours() 返回 Date 对象的小时 (0 ~ 23)。 getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 getMonth() 从 Date 对象返回月份 (0 ~ 11)。 getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 document.getElementById( "demo" ).innerHTML = myVar;数字和布尔值也经常相互转换:
myVar = 123 // toString 转换为 "123"下表展示了使用不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean):
转换为数字 转换为字符串 转换为布尔值 false "false" false 尝试一下 » "true" 尝试一下 » false 尝试一下 » 尝试一下 » 尝试一下 » "000" "000" 尝试一下 » 尝试一下 » "NaN" false 尝试一下 » Infinity Infinity "Infinity" 尝试一下 » -Infinity -Infinity "-Infinity" 尝试一下 » false 尝试一下 » 尝试一下 » "Runoob" "Runoob" 尝试一下 » 尝试一下 » 尝试一下 » [10,20] "10,20" 尝试一下 » ["Runoob"] "Runoob" 尝试一下 » ["Runoob","Google"] "Runoob,Google" 尝试一下 » function(){} "function(){}" 尝试一下 » "[object Object]" 尝试一下 » "null" false 尝试一下 » undefined "undefined" false 尝试一下 »夜尽
972***483@qq.com
typeof
typeof 用以获取一个变量或者表达式的类型,typeof 一般只能返回如下几个结果:
number,boolean,string,function(函数),object(NULL,数组,对象),undefined。
document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34};
我们可以使用 typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){} ,而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错。
正因为 typeof 遇到 null,数组,对象时都会返回 object 类型,所以当我们要判断一个对象是否是数组时。
或者判断某个变量是否是某个对象的实例则要选择使用另一个关键语法 instanceof
。instanceof
可通过 instanceof 操作符来判断对象的具体类型,语法格式:
var result = objectName instanceof objectType
返回布尔值,如果是指定类型返回 true,否则返回 false:
arr = [1,2,3]; if(arr instanceof Array){ document.write("arr 是一个数组"); } else { document.write("arr 不是一个数组");夜尽
972***483@qq.com
Endl
313***2538@qq.com
Arcy
hen***55@163.com
衣冠
227***1235@qq.com
suika
137***0916@qq.com