我是一个ruby程序员。最近看到node.js挺火的,也就试试了。
因为没怎么写过javascript,写起来挺不顺手的。
所以就想把ruby里一些好用的函数(如:empty)拿到javascript里来用。
我的代码是这样写的。
String.prototype.empty = function(){
console.log(typeof(this));
return this=='' ? true : false;
}
console.log('hello'.empty());
console.log('——————');
console.log(''.empty());
结果:
object
false
——————
object
true
结果看来说应该 是对了吧!但为什么typeof(this)是object呢?
String.prototype.empty = function(){
console.log(this);
console.log(typeof(this));
return this=='' ? true : false;
}
console.log('hello'.empty());
console.log('——————');
console.log(''.empty());
结果:
{ '0': 'h', '1': 'e', '2': 'l', '3': 'l', '4': 'o' }
object
false
——————
{}
object
true
从上面的结果来看,为什么 typeof(this) 是 object 的原因是明白了。
但问题又出现了:
为什么 this=='' 判断式没有出问题,而且每次还能得出正确的结果呢?
难到说 object 和 string 类型是等价的?
请哪位大侠给指点迷津啊!
相关推荐
对于数字、函数、null、undefined、boolean、object(注意,这里的object并不区分数组或对象实例)和其他类型,它也会返回相应的字符串类型标识。 在这段代码中: ```javascript typeof id === 'string' ? document...
`typeof`操作符通常用于验证变量的数据类型,它能够区分基本数据类型(如string、number、boolean等)和引用类型(如object,其中可以包括array、function等)。在实际开发中,使用`typeof`来确认变量类型是一个非常...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在JavaScript中,我们可以使用`JSON.stringify()`方法将JavaScript对象...
在Flex开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级、易读、易写的特点,被广泛应用于Web服务与客户端之间的数据传输。本篇将详细介绍在Flex中如何使用JSON,包括JSON的基本...
spawn(file : string, args : string[], opts : object = {}) : object spawn(dir : string, file : string, opts : object = {}) : object spawn(dir : string, file : string, args : string[], o
模式类型数据建模和验证的架构目录static combine(...models) check(data: object) checkAsync(data: object) checkForField(fieldName: string, data: object) checkForFieldAsync(fieldName: string, data: object...
JavaScript支持两种不同类型的字符串:**String Literal(字符串字面量)** 和 **String Object(字符串对象)**。尽管它们在某些场景下表现相似,但在内部实现和行为上存在显著差异。 ##### String Literal 字符...
* 对象类型(Object):使用object定义的变量,例如let obj: object = { name: 'John', age: 30 }; 数组和元组类型 * 数组类型(Array):使用数组定义的变量,例如let arr: number[] = [1, 2, 3]; * 元组类型...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在ActionScript 3.0中,JSON类是用于处理JSON数据的关键工具,它使得AS...
在本文档中,我们将深入探讨如何利用Flex框架通过JSON(JavaScript Object Notation)格式与Java后端进行数据交换。这种方法不仅能够简化数据传输过程,还能提高应用程序的整体性能。 #### 二、基础知识概述 1. **...
现在,最好检查一下示例:概述该库导出处理程序创建函数: createBeginHandler(config: object, options: CreateConfigOptions): function(state: string=): Promise<string> createCompleteHandler(config: object,...
标题中的“在Flex中使用Json (1)”表明我们将探讨如何在Adobe Flex开发环境中利用JSON(JavaScript Object Notation)这一轻量级的数据交换格式。Flex是一个开源的、基于ActionScript的框架,用于创建富互联网应用...
在JavaScript程序编写过程中,根据不同的上下文,JS会自动将object转换成number或者string后再处理。这种自动转换的规则如下: object自动转换成string的规则: 1.如果object所属类覆写了toString()方法,则调用该...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其简洁明了的文本形式,被广泛应用于Web服务和应用程序之间传输数据。在ActionScript 3(AS3)中,JSON同样扮演着重要的角色,使得AS3可以方便...
在Flex开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛用于与服务器进行数据交互。本文将详细介绍Flex解析JSON的两种主要方法:使用`JSON.parse()`和`mx.utils.JSONUtil`,以及在...
对于JavaScript核心内置对象,如Number或String,通常会先尝试valueOf方法转换,如果不存在valueOf方法或valueOf方法返回的不是原始类型,则会尝试toString方法转换。一个例外是Date对象,Date对象在转换时总是使用...
args.GetIsolate()->ThrowException(v8::Exception::Error(v8::String::NewFromUtf8(args.GetIsolate(), "Called from JavaScript"))); } // 将 C++ 函数暴露给 JavaScript v8::Local<v8::FunctionTemplate> tpl =...
**函数**: `public function LTrim(s: String): String` 此函数用于去除字符串左侧的所有空白字符,包括空格、换行符、回车符和制表符。 **示例代码**: ```actionscript public function LTrim(s: String): ...
data:Array(Object)=>表的数据 config:Object =>配置 config.tidy:Boolean =>是否整理输出HTML config.headers:Array(Object)=>标头配置 header.name:String =>键入数据对象 header.align:Enum('left'|'...