例如,如果我这样做:
var q = document.querySelectorAll;
q('body');
Run Code Online (Sandbox Code Playgroud)
我在Chrome中收到"非法调用"错误.我想不出为什么这是必要的任何理由.首先,并非所有本机代码功能都是如此.事实上我可以做到这一点:
var o = Object; // which is a native code function
var x = new o();
Run Code Online (Sandbox Code Playgroud)
一切正常.特别是在处理文档和控制台时我发现了这个问题.有什么想法吗?
在标准 ECMA-262 版本的第 4.3.26 节中:
根据属性的形式,值可以直接表示为数据值(原始值、对象或函数对象),也可以通过一对访问器函数间接表示。
我不明白“访问器函数”是什么意思,也没有在规范中找到访问器函数的定义。然后我在网上搜索。在我看来,访问器函数的意思是“getter”。但我还是不明白,为什么属性值是“由一对访问器函数”表示的?谁能用例子来说明这一点?谢谢!