当前位置:网站首页>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] }
边栏推荐
- ML.NET related resources
- The normal form of the database (first normal form, second normal form, third normal form, BCNF normal form) "recommended collection"
- 腾讯云部署----DevOps
- MySQL database operations
- LevelSequence源码分析
- radiobutton的使用
- Why is the field of hacking almost filled with boys?
- MySQL multi-table union query
- Single-cell sequencing workflow (single-cell RNA sequencing)
- C语言”三子棋“升级版(模式选择+AI下棋)
猜你喜欢
深度学习机器学习理论及应用实战-必备知识点整理分享
Premiere Pro 2022 for (pr 2022)v22.5.0
Unity 之 图集属性详解和代码示例 -- 拓展一键自动打包图集工具
腾讯云部署----DevOps
6-22漏洞利用-postgresql数据库密码破解
2022年必读的12本机器学习书籍推荐
EF Core 2.2中将ORM框架生成的SQL语句输出到控制台
对话庄表伟:开源第一课
基于Redis(SETNX)实现分布式锁,案例:解决高并发下的订单超卖,秒杀
Internet banking stolen?This article tells you how to use online banking safely
随机推荐
Visualize GraphQL schemas with GraphiQL
mysql black window ~ build database and build table
基于ABP实现DDD
网站漏洞修复服务商关于越权漏洞分析
复制延迟案例(1)-最终一致性
JVM参数解析 Xmx、Xms、Xmn、NewRatio、SurvivorRatio、PermSize、PrintGC「建议收藏」
ASP.NET Core generates continuous Guid
使用 GraphiQL 可视化 GraphQL 架构
苹果官网样式调整 结账时产品图片“巨大化”
Linux check redis version (check mongodb version)
TextBlock控件入门基础工具使用用法,取上法入门
The use of button controls
复制延迟案例(3)-单调读
字符指针赋值[通俗易懂]
Use of radiobutton
OPPO在FaaS领域的探索与思考
ML.NET相关资源整理
update data table update
Delete table data or clear table
Premiere Pro 2022 for (pr 2022)v22.5.0