Eki*_*kim 9 javascript constructor
澄清:
"JavaScript构造函数"应该更恰当地写成"javascript构造函数",以强调所考虑的构造函数不仅仅是本机JavaScript语言构造函数,如Object,Array,Function等,还有其他JavaScript外部的构造函数.语言定义,但是浏览器固有的,例如XMLHttpRequest,"JavaScript"一词意味着表示这些构造函数是使用JavaScript表达和访问的.
一些参考:
constructorWorker()构造函数......" 在修辞上,有对构造函数的引用,但不是构造函数对象!
(好笑,这是因为Objects ARE函数,函数是对象!
为什么JavaScript中的函数既是构造函数又是对象?
更具体地说,对象,或者是obj-eggs?,ARE,忽略文字实例,实例化函数和函数是函数的对象实例.可以说函数是对象存在的基础,如事实所证明的那样
7. 函数
先于
8.
在MDN文档JavaScript指南中使用对象.第8节,我反对!提供使用构造函数和函数实例创建对象所需的详细信息!)
为什么与DOM接口的构造函数不起作用?
javascript:
alert([
"using browser environment: \n"+window.navigator.userAgent,
Option, Image, Audio,
Storage, XMLHttpRequest, Worker, FileReader,
] . join("\n\n"));
Run Code Online (Sandbox Code Playgroud)
告诉我们:
使用浏览器环境:
Mozilla/5.0(X11; U; Linux i686; en-US; rv:1.9.2.3)Gecko/20100423 Ubuntu/10.04(lucid)Firefox/3.6.3[对象选项]
[对象图片]
[对象音频]
[对象存储]
[object XMLHttpRequest]
[对象工作者]
[object FileReader]
但......
javascript:
alert([
XPCNativeWrapper,
].join("\n\n"));
Run Code Online (Sandbox Code Playgroud)
(产生
function XPCNativeWrapper(){[native code]}
)
和JavaScript语言构造函数是ARE函数.
javascript:
alert([
"using browser environment: \n"+window.navigator.userAgent,
Array, Boolean, Date, Function,
Number, Object, RegExp, String,
Error, Iterator,
].join("\n\n"));
Run Code Online (Sandbox Code Playgroud)
给我们:
使用浏览器环境:
Mozilla/5.0(X11; U; Linux i686; en-US; rv:1.9.2.3)Gecko/20100423 Ubuntu/10.04(lucid)Firefox/3.6.3function Array(){[native code]}
function Boolean(){[native code]}
function Date(){[native code]}
function Function(){[native code]}
函数Number(){[native code]}
function Object(){[native code]}
函数RegExp(){[native code]}
function String(){[native code]}
函数Error(){[native code]}
function Iterator(){[native code]}
第一的:
对象是函数
不,不是:
> a = function() {}
function () {}
> a instanceof Object
true
> b = {}
Object
> b instanceof Function
false
Run Code Online (Sandbox Code Playgroud)
该toString方法(在进行字符串连接时调用的方法)并不是获取对象信息的可靠方法。如果我使用typeof,我会得到以下结果:
using browser environment:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:5.0.1) Gecko/20100101 Firefox/5.0.1
function
function
function
object
function
function
function
Run Code Online (Sandbox Code Playgroud)
Storage所以你看,除了形式之外,它们中的大多数实际上都是函数(为什么它不适用于Storage,我不知道)。
另请记住,DOM 接口的行为可能与本机 JavaScript 对象不同。
另一方面,在Chrome中,该toString方法给出了:
[object Function]
[object Function]
[object Function]
function Storage() { [native code] }
function XMLHttpRequest() { [native code] }
function Worker() { [native code] }
function FileReader() { [native code] }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1858 次 |
| 最近记录: |