你猜猜typeof (typeof 1) 会返回什么值(类型)?!

news/2024/7/5 2:36:12

typeof

typeof操作符返回一个字符串,表示未经计算的操作数的类型。 语法:

var num = a; 
console.log(typeof (num));
或console.log(typeof num)
复制代码

typeof 可以返回的类型为:number、string、boolean、undefined、null、object、function还有新的symbol(详见MDN)

//以下数据由chrome浏览器得到,其他浏览器详细的请见MDN
//(网址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeof)console.log(typeof (typeof 1) );//stringvar num = null ;
console.log(typeof num);//objectvar num = /s/ ;
console.log(typeof num);//objectvar num = "a" ;// "123"
console.log(typeof num);//stringvar num = a; 
console.log(typeof (num));//报错var num = 123 ;
console.log(typeof num);//numbervar num = NaN;
console.log(typeof num);//numbervar num = undefined ;
console.log(typeof num);//undefinedvar num;
console.log(typeof num);//undefinedvar num =[1,3];
console.log(typeof num);//objectvar num = true;
console.log(typeof num);//booleanvar num = new Array();
console.log(typeof num);//objectvar num =function(){};
//var num =function;会报错
console.log(typeof num);//functionvar num =new Object();
console.log(typeof num);//objectfunction Person(name){this.name =name;}
var num = new Person();
console.log(typeof num);//objectfunction Person(name){
this.name =name;
}
var num = new Person();
console.log(typeof num.name);//undefinedfunction Person(name){this.name =name;}
var num = new Person("sadf");
//var num = new Person(123);-->number
console.log(typeof num.name);//string
复制代码

四则运算的值会返回什么值呢?


var num = 2+2;console.log(typeof num);//numbervar num = 2+"2";
console.log(typeof num);//stringvar num = 2*2;
console.log(typeof num);//numbervar num = 2*"2";
console.log(num);//4
console.log(typeof num);//numbervar num = 2*"a";
console.log( num);//NaN
console.log(typeof num);//number
复制代码

总结:

  • 运算符+是双目运算符,只要其中一个是string类型,表达式的值返回什么类型是一个String。

  • 对于其他的四则运算,只有其中一个是Number类型,表达式的值返回什么类型的是一个Number。

var num = parseFloat("a");
console.log(num);//NaN
console.log(typeof num);//numbervar num = parseInt("0.9");
console.log(num);//0
console.log(typeof num);//number
复制代码
  • 对于非法字符的情况通常会得NaN,parseInt(a)值为NaN, 即使1*NaN也还是NaN。

  • Number(参数)把任何类型转换成数值类型

  • parseInt(参数1,参数2)将字符串转换成整数,参数二不填时 默认是10(十进制)

  • parseFloat()将字符串转换成浮点数字

  • string(参数):可以将任何类型转换成字符串

  • Boolean()可以将任何类型的值转换成布尔值

[参考MDN:(typeof)] (developer.mozilla.org/zh-CN/docs/…)

转载于:https://juejin.im/post/5ca4c645e51d452e3a504435


http://lihuaxi.xjx100.cn/news/235874.html

相关文章

Ansible05-部署文件

目录 一、部署文件的常用模块 二、使用jinja2文件部署自定义文件 一、部署文件的常用模块 部署文件常用模块有 file 创建、删除文件或目录,修改selinux上下文。copy 复制文件到受控节点上,也可以直接在受控结点上创建文件。fetch 从受控结点获取文件…

COMP 0137 Machine Vision

COMP 0137作业代做、Python实验作业代写、代做Python语言程序作业、代写Machine Vision作业COMP 0137 Machine Vision: Homework #1Due 19th November 2018 at 23:55pmWorth 10% of your overall gradeSubmit online, through MoodleFor this homework, we’ll revisit the pra…

BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗。 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源。 如果你已经进了ETL这个坑,而且预算有限,并且有大量的活要做; 时间紧&am…

Spring事务管理的底层逻辑—源码解析

本文代码为spring 5.1.2spring是如何控制事务的提交和回滚 加上Transactional注解之后,Spring可以启到事务控制的功能了,再正式执行方法前它会做一些操作,我们来看看 首先进入CglibAopProxy.class的intercept方法或者JdkDynamicAopProxy.clas…

堡垒机高危命令正则表达式

堡垒机可以设置高危命令阻断,防止操作人员误操作造成删库跑路。但是什么是高危命令,需要管理员通过配置正则表达式,进行命令匹配。 今天2021年8月6日先匹配最常见的删库跑路命令 rm -rf / ,以下几种表达式联合起来就可以阻断这类…

深入理解浏览器的缓存机制

一、前言 缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。 对于一个数据请求来说,可以分为发…

(二)spring cloud微服务分布式云架构 - 整合企业架构的技术点

spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下技术总结,希望可以帮助到大家: …

2542513 - AS Java fails to start - Initialization of destination UMEBackendConnection failed

今天发现SAP As Java 开发机无法启动,根据 Note 2542513 处理该问题并记录。 今天发现SAP EPBPM服务器不能正常启动,jstart.exe进程显示 some process running 的黄灯状态。重启也不管用。到SAP官网 https://wiki.scn.sap.com/wiki/display/ASJAVA/%28J…