当前位置:网站首页>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] }
边栏推荐
- Insert into data table to insert data
- 【7.29】Code Source - 【Arrangement】【Stone Game II】【Cow and Snacks】【Minimum Number of Spawns】【Sequence】
- MySQL multi-table union query
- 第05章 存储引擎【1.MySQL架构篇】【MySQL高级】
- The arm button controls the flashing of the led light (embedded button experiment report)
- Oracle动态注册非1521端口
- ASP.NET Core generates continuous Guid
- 【7.29】代码源 - 【排列】【石子游戏 II】【Cow and Snacks】【最小生成数】【数列】
- gerrit中如何切换远程服务器
- 腾讯云部署----DevOps
猜你喜欢
After Grafana is installed, the web opens and reports an error
研发过程中的文档管理与工具
外媒所言非虚,苹果降价或许是真的在清库存
Unity 之 图集属性详解和代码示例 -- 拓展一键自动打包图集工具
Qt实战案例(54)——利用QPixmap设计图片透明度
Kubernetes常用命令
The new BMW 3 Series is on the market, with safety and comfort
TextBlock控件入门基础工具使用用法,取上法入门
OPPO在FaaS领域的探索与思考
The 2nd China PWA Developer Day
随机推荐
6-22 Vulnerability exploit - postgresql database password cracking
jeecg master-slave database read-write separation configuration "recommended collection"
2022年必读的12本机器学习书籍推荐
go图书管理系统
The arm button controls the flashing of the led light (embedded button experiment report)
字符串反转的实现方法总结「建议收藏」
Single-cell sequencing workflow (single-cell RNA sequencing)
网站漏洞修复服务商关于越权漏洞分析
【7.29】Code Source - 【Arrangement】【Stone Game II】【Cow and Snacks】【Minimum Number of Spawns】【Sequence】
leetcode303 Weekly Match Replay
json到底是什么(c# json)
[TypeScript] In-depth study of TypeScript type operations
type of timer
2020 WeChat applet decompilation tutorial (can applet decompile source code be used)
7. Summary of common interview questions
Kubernetes common commands
Bilateral filtering acceleration "recommended collection"
Deployment应用生命周期与Pod健康检查
[MySQL] Mysql paradigm and the role of foreign keys
SringMVC中个常见的几个问题