当前位置:网站首页>js的toString方法
js的toString方法
2022-07-31 15:55:00 【youhebuke225】
专栏目录请点击
toString()
参数为字符串的转换基数 点击
数据类型
undefined
与null
一般undefined
与null
,没有toString()
方法,但是从ES6
之后规定:null
返回[object Null]
,undefined
返回[object Undefined]
,当然,我们也可以用来检测一些其他的类型 点击
数组
数组调用toString
,返回一个字符串,他是数组中的元素 点击
// 数组
const arr = [1,2,3]
console.log(arr.toString()) // 1,2,3
布尔值
布尔型数据true和false返回对应的’true’和’false’
字符串
字符串类型原值返回
数值
- 正浮点数及NaN、Infinity加引号返回,如果有
-
号,那么他会先执行toString
方法,然后执行-
号的运算
1.23.toString();//'1.23'
typeof 1.23.toString(); //string
NaN.toString();//'NaN'
Infinity.toString();//'Infinity'
-1.23.toString(); // -1.23
typeof -1.23.toString() // number
- 整数调用,如果整数连续调用,就必须加上括号,不然的话
.
会被当做小数点而报错
// 整数
0.toString() // 错误的写法
(0).toString() // 0
当然,我们在写的时候,编辑器也会给我们报错
对象
会得到[object Object]
的字符串
const obj = {
}
console.log(obj.toString()) // [object Object]
类型判断
console.log(Object.prototype.toString.call("jerry"));//[object String]
console.log(Object.prototype.toString.call(12));//[object Number]
console.log(Object.prototype.toString.call(true));//[object Boolean]
console.log(Object.prototype.toString.call(undefined));//[object Undefined]
console.log(Object.prototype.toString.call(null));//[object Null]
console.log(Object.prototype.toString.call({
name: "jerry"}));//[object Object]
console.log(Object.prototype.toString.call(function(){
}));//[object Function]
console.log(Object.prototype.toString.call([]));//[object Array]
console.log(Object.prototype.toString.call(new Date));//[object Date]
console.log(Object.prototype.toString.call(/\d/));//[object RegExp]
function Person(){
};
console.log(Object.prototype.toString.call(new Person));//[object Object]
类型识别函数
所以我们可以定义一个函数来进行类型的识别
function type(obj){
return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase();
}
console.log(type("jerry"));//"string"
console.log(type(12));//"number"
console.log(type(true));//"boolean"
console.log(type(undefined));//"undefined"
console.log(type(null));//"null"
console.log(type({
name: "jerry"}));//"object"
console.log(type(function(){
}));//"function"
console.log(type([]));//"array"
console.log(type(new Date));//"date"
console.log(type(/\d/));//"regexp"
function Person(){
};
console.log(type(new Person));//"object"
其他的识别功能
arguments与DOM
(function(){
console.log(Object.prototype.toString.call(arguments));//[object Arguments]
})()
console.log(Object.prototype.toString.call(document));//[object HTMLDocument]
自定义函数与内置函数
- 自定义函数会得到函数的源码
- 内置函数会有
native code
的字符串
function fn(){
console.log("hello world");
}
console.log(fn.toString())
console.log(Function.toString())
function fn(){
console.log("hello world");
}
function Function() { [native code] }
边栏推荐
- EF Core 2.2中将ORM框架生成的SQL语句输出到控制台
- ML.NET相关资源整理
- T - sne + data visualization parts of the network parameters
- C语言-函数
- tooltips使用教程(鼠标悬停时显示提示)
- 多主复制的适用场景(1)-多IDC
- What is the difference between BI software in the domestic market?
- 2020 WeChat applet decompilation tutorial (can applet decompile source code be used)
- jeecg主从数据库读写分离配置「建议收藏」
- OPPO在FaaS领域的探索与思考
猜你喜欢
全新宝马3系上市,安全、舒适一个不落
[TypeScript] In-depth study of TypeScript type operations
C语言-函数
LevelSequence源码分析
Kubernetes principle analysis and practical application manual, too complete
长得很怪的箱图
leetcode303 Weekly Match Replay
Graham‘s Scan法求解凸包问题
.NET 20th Anniversary Interview - Zhang Shanyou: How .NET technology empowers and changes the world
Internet banking stolen?This article tells you how to use online banking safely
随机推荐
基于C语言的编译器设计与实现
Summary of the implementation method of string inversion "recommended collection"
i.MX6ULL驱动开发 | 33 - NXP原厂网络设备驱动浅读(LAN8720 PHY)
贪吃蛇项目(简单)
Use of radiobutton
mysql黑窗口~建库建表
双边滤波加速「建议收藏」
The arm button controls the flashing of the led light (embedded button experiment report)
6-22漏洞利用-postgresql数据库密码破解
Emmet syntax
.NET 20周年专访 - 张善友:.NET 技术是如何赋能并改变世界的
SringMVC中个常见的几个问题
org.apache.jasperException(could not initialize class org)
Why is the field of hacking almost filled with boys?
2020微信小程序反编译教程(小程序反编译源码能用吗)
TextBlock控件入门基础工具使用用法,取上法入门
复制延迟案例(3)-单调读
ansible study notes 02
json到底是什么(c# json)
苹果官网样式调整 结账时产品图片“巨大化”