为什么字符串类型返回功能
Why does typeof String return function
为什么:
console.log( typeof String );
当它是对象时返回function
?
字符串是字符串对象的构造函数。所有构造函数都是函数,因此您看到的是返回值。
您可以通过创建如下代码来自己看到这一点:
var MyObject = function (value) {
this.value = value;
};
MyObject.prototype.getValue = function () {
return this.value;
}
console.log(typeof(MyObject)); // function
console.log(typeof(new MyObject(1))); // object
这是因为字符串和"字符串"之间有很大的区别。让我详细说明一下:
console.log(typeof String)
将返回函数,而
console.log(typeof "String")
将返回字符串。
这是因为String
实际上是一个全局构造函数。它用于创建字符串!
var string = new String('2 + 2'); // creates a String object
console.log(string); // returns the string object. try it
"字符串"是一个字符串,因为javascript将其转换为字符串原语。
var string1 = '2 + 2'; // creates a String object
console.log(string1); // returns the string primitive. try it
String()
是一个函数
JavaScript String()
函数
String()
函数将对象的值转换为字符串。
注意:String()
函数返回的值与单个对象的toString()
值相同。
请参阅参考资料
你得到的typeof
String
构造函数是一个函数(请参阅此文档)。所有构造函数都是function
的,这就是为什么如果你console.log(String)
,你会得到:
function String() { [native code] }
这显然是一个function
.
如果要确定某物是否为字符串:
对于字符串文本,可以使用:
console.log(typeof 'foo');
或者,如果您有要测试的变量,请使用:
var str 'bar';
console.log(typeof str);
上述两个代码片段都将记录string
。
相关文章:
- 返回时退出功能
- 为什么字符串类型返回功能
- 功能在3秒钟后返回
- 辅助功能键盘专用选项卡到z索引“;返回顶部”;
- Knockout返回功能
- 使用onkeypress/onkeydown返回自然语言字符,同时保留退格功能
- 使用点击返回功能和不使用它有什么区别
- JavaScript:返回/前进的基本功能
- Jasmine spyOn使用伪造的返回数组测试功能
- 浏览器返回上一页功能,如果返回如何重新加载文档
- 如何使用 JavaScript 为所有浏览器实现“返回”功能
- Google 地点自动填充功能不会返回正确的地点
- 搜索功能返回多个结果
- 无法找到问题:使用iplib-js进行一般ip配置功能,无效ip返回有效
- React无状态功能组件的流返回类型是什么?
- E2e测试与量角器-如何返回选定的菜单项从功能内页模型
- Android (Tasker) -如何模拟返回按钮功能
- ES6中是否有收集迭代器的功能,包括最终返回值
- 将返回键更改为tab功能
- 为什么返回;不停止功能