- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在阅读 Underscore.js 以了解它的 is[String|Number|...]
方法是如何工作的,现在我很困惑。下划线:
toString.call(obj) == ['object ' + name + ']';
好吧,我可以的
>>> toString.call('my string')
"[object String]"
但是
>>> 'my string'.toString()
"my string"
我在这里迷路了!在我接到的第一个电话中:
>>> document.toString === toString
true
和
>>> document.toString === 'asd'.toString
false
所以,我很困惑。我没想到会有这种行为。
最佳答案
那是因为:
document.toString === Object.prototype.toString
它实现了最基本的 toString
版本,类似于:
'[object ' + (typeof this) + ']';
这与 String.toString()
非常不同,它只是输出字符串本身,即:
> String.prototype.toString.call('hello world')
"hello world"
或 Array.toString()
输出逗号分隔的值字符串。
> Array.prototype.toString.call([1,2,3])
"1,2,3"
使用.call()
为了完成这项工作,他们基本上通过使用 .call()
将 toString()
应用于对象:
toString.call(obj)
在toString
方法中,this
现在引用obj
。这将是等价的:
Object.prototype.toString.call(obj)
关于javascript - 为什么 toString.call ('my string' ) 不同于 'my string' .toString(),或者,为什么 document.toString !== 'asd' .toString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182623/
当我在 ec2 机器上执行以下命令时出现错误 sudo/etc/init.d/aerospike 开始 我的 ec2 机器中需要 aerospike 引擎用于测试目的。我用了 wget -O aero
所以我有这段代码,但我不断收到标题中放入的错误。 #include #include enum discout { nou = 5, medium = 10, avansa
我打算使用 buildapp从我的 lisp 代码中获取可执行文件,但我不明白如何为项目指定我的 .asd 文件,以加载代码。 我想象一些这样的电话: buildapp --asdf-file:/pa
我有一个正在尝试处理的查询,我搜索了它但找不到任何答案,我做错了什么,我想要搜索的是 %asd%,但我得到的是 asd% 结果而不是它, 我的字段类型是这样的,
我有以下目录结构: my-project/ ├── my-project.asd ├── package.lisp # defpackage. ├── utils.lisp # Functio
我的设置是: window Vista剪辑 2.49 我运行 clisp 并加载 asdf 没有任何问题。我将目录路径名推送到 asdf:*central-registry* 并将 cl-ppcre.
我有一个软件,每分钟上传一个 jpeg 到 FTP 帐户。 在 PHP 中,我在 crontab 中编写了一些 PHP 代码,用于获取最后一个 JPEG 文件并执行图形处理。这工作正常。 $all_f
这个问题在这里已经有了答案: How does the Comma Operator work (9 个回答) 关闭 3 年前。 快速提问这在 C++ 中有什么作用; auto asd = (1,2
我在微软环境下工作,但现在我把我的网站搬到了 ubuntu,问题是,当我尝试写一个这样的链接时,127.0.0.1/asd,我没有找到错误,让我抓狂的是,该 URL 有时工作有时不工作,它在 Wind
我正在阅读 C++ Primer,在第 6.2 节中它说: "Parameter initialization works the same way as variable initializatio
为了定位到 asd#zxc.txt,我需要在 href 中输入什么,尝试过: asd#zxc.txt 但 IE 打开新窗口时在 URL 中带有“asd”,这个工作正常: asd#zxc.txt 但我需
尝试一下:在 Node.js 或 Firefox 中,打开 REPL,然后键入: Number.isNaN('asdf'); 这怎么可能不是NaN?如果不是这个,NaN 是什么? 最佳答案 你的理解有
正在阅读 Underscore.js 以了解它的 is[String|Number|...] 方法是如何工作的,现在我很困惑。下划线: toString.call(obj) == ['object '
我是一名优秀的程序员,十分优秀!