JS中typeof的用法

转载自  JS中typeof的用法

        js是一门弱语言,它在声明变量时无需确定变量的类型,js在运行时会自动判断。那么如何判断一个变量的类型呢,js提供了typeof运算符,用来检测一个变量的类型。

1. typeof的语法

    typeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。

2. typeof的返回值

    typeof运算符的返回类型为字符串,值包括如下几种:

        1. 'undefined'              --未定义的变量或值

        2. 'boolean'                 --布尔类型的变量或值

        3. 'string'                     --字符串类型的变量或值

        4. 'number'                  --数字类型的变量或值

        5. 'object'                    --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)

        6. 'function'                 --函数类型的变量或值

        7.'symbol'                   -- 符号,Symbol()函数返回一个类型为symbol的值,具有暴露内置对象的几个成员的静态属性,具有公开全局符号注册表的静态方法,类似于内置对象类但作为构造函数不完整,因为它不是支持语法“ new Symbol()”。  返回的每个符号值Symbol()都是唯一的。符号值可以用作对象属性的标识符; 这是数据类型的唯一目的。

 3. 简单的示例

    console.log(typeof a);    //'undefined'console.log(typeof(true));  //'boolean'console.log(typeof '123');  //'string'console.log(typeof 123);   //'number'console.log(typeof NaN);   //'number'console.log(typeof null);  //'object'    var obj = new String();console.log(typeof(obj));    //'object'var  fn = function(){};console.log(typeof(fn));  //'function'console.log(typeof(class c{}));  //'function'console.log(typeof(Symbol("id"));  //'symbol'

       总结:typeof运算符用于判断对象的类型,但是对于一些创建的对象,它们都会返回'object',有时我们需要判断该实例是否为某个对象的实例,那么这个时候需要用到instanceof运算符,后续记录instanceof运算符的相关用法。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php动态网站

记得从五六月份就说要建一个可以注册登录的网站了,结果自己两个多月都没能建成,由于学习动态网站实在需要太多知识了,可以说我这几个月的时间都是花在网页上的,从刚开始的htmlcss 到后面的js,js花了太多太多时间&#…

从头编写 asp.net core 2.0 web api 基础框架 (2)

上一篇是: 从头编写 asp.net core 2.0 web api 基础框架 (1) Github源码地址是: https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch 本文讲的是里面的Step 2. 上一次, 我们使用asp.net core 2.0 建立了一个Empty project, 然后做了…

nssl1217-So many prefix?【KMP】

正题 题目大意 求长度为偶数的前缀在字符串SSS中出现的次数和。 解题思路 我们先不考虑长度为偶数的话,答案很好求。先求出KMP的next数组,然后numinumnexti1num_inum_{next_i}1numi​numnexti​​1。 之后num的和就是答案。 注:num数组表示前i个字符的…

js中toString()和String()区别详解

转载自 js中toString()和String()区别详解 我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 1、.toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined 例如将false转为字符…

java实现上传网络图片到七牛云存储

大家好,我是雄雄。 前言 最近阳了,第二条杠红的发紫,真难受啊,但是吧,博客上有个bug,不解决感觉比阳了还难受。 话还是要从博客的图片显示不出来这里说起,当时做的时候,在发文章这…

【php】php对mysql的连接操作【mysql】

思路: 1、数据库做两个表单,一个是user用来记录用户的信息,方便登录与注册。另一个表单是chat,用来记录聊天内容。 2、用到的技术是ajax,网页及时交互数据,可以做到无刷新聊天。 遍历数据库表单 数据库连…

nssl1218-TRAVEL【SPFA】

正题 题目大意 n个图,有m条双向道路,每条道路有一个l和r。 求一条路径,使得路上最小的r和路上最大的l的差最大。 解题思路 我们考虑枚举l,然后用SPFA计算最大的r。然后这样会超时。 之后我们发现其实答案的l一定是某一条边的l&…

gRPC官方快速上手学习笔记(c#版)

上手前准备工作 支持操作系统:windows、OS X、Linux。实例采用.net、.net core sdk。 The .NET Core SDK command line tools. The .NET framework 4.5 (for OS X and Linux, the open source .NET Framework implementation, “Mono”, at version 4, is suitable…

JS中的加号+运算符详解

转载自 JS中的加号运算符详解 加号运算符 在 JavaScript 中,加法的规则其实很简单,只有两种情况: 把数字和数字相加把字符串和字符串相加 所有其他类型的值都会被自动转换成这两种类型的值。 为了能够弄明白这种隐式转换是如何进行的,我们…

ajax做聊天交互

本想学了几天ajax就可以弄一个类似于qq的网页聊天界面,发现自己想的还是太简单了。 有两个问题无法解决: 1、即使用ajax还是无法保证数据的及时交互,没有办法无时无刻刷新页面。现学的ajax还是依赖于点击事件,才能请求后台数据。 …

ssl提高组周三备考赛【2018.10.24】

前言 快乐题警告! 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017myself2017myself2017myself2102102101001001001001001001010102222017zyc2017zyc2017zyc1581581581001001001818184040403332017xxy2017xxy2017xxy157157157100100100272727…

spring cloud+dotnet core搭建微服务架构:Api网关(三)

前言 国庆假期,一直没有时间更新。 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud。文章下面有纯洁大神的spring cloud系列。 上一章最后说了,因为服务是不对外暴露的,所以在外网要访问服务必须通过API网关来完成&…

java实现人脸识别源码【含测试效果图】——前期准备工作及访问提示

注意: 看完之后如有不懂,请看:关于人脸和指纹识别共同交流方案,也可以关注微信公众号:雄雄的小课堂,回复:人脸识别群获取群号,群内有直接可以运行的源码可供下载,人脸识…

JS原型链与instanceof底层原理

转载自 JS原型链与instanceof底层原理 一、问题: instanceof 可以判断一个引用是否属于某构造函数; 另外,还可以在继承关系中用来判断一个实例是否属于它的父类型。 老师说:instanceof的判断逻辑是: 从当前引用的…

P2522-[HAOI2011]Problem b【莫比乌斯反演】

正题 题目大意 求∑iab∑jcd(gcd(i,j)k)\sum_{ia}^b\sum_{jc}^d(gcd(i,j)k)ia∑b​jc∑d​(gcd(i,j)k) 解题思路 定义 f(i)∑i1n∑j1m(gcd(i,j)i)f(i)\sum_{i1}^n\sum_{j1}^m(gcd(i,j)i)f(i)i1∑n​j1∑m​(gcd(i,j)i) 然后计算f利用容斥计算答案 之后我们考虑如何计算 F(i)…

正则之注册登录

不久前写了个登录注册的网站,因为未对其做出限制,所以,随便你输入什么都可以注册成功,遂想怎么通过js规定注册的账号 我的要求是: 一:输入框不能为空,不能太长也不能太短 二: 1、注…

猿创征文|从酒店前台收银到软件研发教学主管到技术经理之路~

大家好,我是雄雄。 内容先知👉前言☝酒店收银🤨项目组长🤜OA管理系统🤜酒店管理系统👨‍🏫软件研发讲师📌学术主管👨‍💻技术经理👉项目情况&…

微服务~分布式事务里的最终一致性

本地事务ACID大家应该都知道了,统一提交,失败回滚,严格保证了同一事务内数据的一致性!而分布式事务不能实现这种ACID,它只能实现CAP原则里的某两个,CAP也是分布式事务的一个广泛被应用的原型,CA…

USACO2.4の其中3道水题【模拟,图论】

T1:P1518-两只塔姆沃斯牛 The Tamworth Two 题目大意 两个东西&#xff0c;按照一个方向前进&#xff0c;他们撞到墙壁会顺时针90&#xff0c;求他们多久后相遇。 解题思路 暴力模拟 code // luogu-judger-enable-o2 #include<cstdio> #include<iostream> using…

JavaFX仿windows文件管理器目录树

一、windows文件管理器目录树 二、代码 /** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/ package cn.util;import imagemanagesystem.…