当前位置:网站首页>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] }
边栏推荐
猜你喜欢

tooltips使用教程(鼠标悬停时显示提示)

基于ABP实现DDD
![[TypeScript] In-depth study of TypeScript type operations](/img/d9/ee240ccba72e8d3114ee5c52ed0c8f.png)
[TypeScript] In-depth study of TypeScript type operations

EF Core 2.2中将ORM框架生成的SQL语句输出到控制台

.NET 20周年专访 - 张善友:.NET 技术是如何赋能并改变世界的

The use of border controls

What is the difference between BI software in the domestic market?
![[MySQL] Mysql paradigm and the role of foreign keys](/img/9d/a4295de26683d7bca2b8e9d14f754b.png)
[MySQL] Mysql paradigm and the role of foreign keys

11 pinia use

WPF project - basic usage of controls entry, you must know XAML
随机推荐
删除表格数据或清空表格
Codeforces Round #796 (Div. 2)(A-D)
2022年必读的12本机器学习书籍推荐
radiobutton的使用
.NET 20周年专访 - 张善友:.NET 技术是如何赋能并改变世界的
tensorflow2.0 cnn(layerwise)
复制延迟案例(1)-最终一致性
TypeError: unhashable type: ‘list‘
使用 GraphiQL 可视化 GraphQL 架构
【C语言】LeetCode27.移除元素
The arm button controls the flashing of the led light (embedded button experiment report)
After Grafana is installed, the web opens and reports an error
.NET 20th Anniversary Interview - Zhang Shanyou: How .NET technology empowers and changes the world
全新宝马3系上市,安全、舒适一个不落
Linux check redis version (check mongodb version)
tooltips使用教程(鼠标悬停时显示提示)
go图书管理系统
Use of radiobutton
国内市场上的BI软件,到底有啥区别
Matlab matrix basic operations (definition, operation)