相关疑难解决方法(0)

JavaScript闭包如何工作?

您如何向知道其所包含概念的人(例如函数,变量等)解释JavaScript闭包,但不了解闭包本身?

我已经看过维基百科上给出的Scheme示例,但遗憾的是它并没有帮助.

javascript variables closures scope function

7644
推荐指数
82
解决办法
139万
查看次数

为什么null是一个对象,null和undefined之间有什么区别?

为什么被null认为是objectJavaScript?

正在检查

if ( object == null )
      Do something
Run Code Online (Sandbox Code Playgroud)

同样的

if ( !object )
      Do something
Run Code Online (Sandbox Code Playgroud)

并且:

null和之间有什么区别undefined

javascript null typeof object undefined

855
推荐指数
12
解决办法
54万
查看次数

javascript:功能和对象......?

你能把一个函数称为对象吗?例如:

function Tip(txt){      
    this.content = txt;  
    this.shown = false;  
}
Run Code Online (Sandbox Code Playgroud)

和:

var tip = new Tip(elem.attr('title'));
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 你可以调用new一个函数吗?
  2. 使用"this"是可能的,因为我们使用该函数作为对象?

javascript function object

42
推荐指数
3
解决办法
4万
查看次数

JavaScript中[[Prototype]]与原型的关系

来自http://www.jibbering.com/faq/faq_notes/closures.html:

注意:ECMAScript定义内部Object类型的内部[[prototype]]属性.使用脚本无法直接访问此属性,但它是使用在属性访问器解析中使用的内部[[prototype]]属性引用的对象链; 对象的原型链.存在公共原型属性以允许与内部[[prototype]]属性相关联的原型的分配,定义和操作.ECMA 262(第3版)中描述了两者之间关系的细节,超出了本讨论的范围.

两者之间的关系有哪些细节?我浏览了ECMA 262,所有我读过的内容都是:

构造函数的关联原型可以由程序表达式constructor.prototype引用,

本机ECMAScript对象具有名为[[Prototype]]的内部属性.此属性的值为null或对象,用于实现继承.

每个内置函数和每个内置构造函数都有Function原型对象,它是表达式Function.prototype的初始值.

每个内置原型对象都有Object原型对象,它是表达式Object.prototype(15.3.2.1)的初始值,作为其内部[[Prototype]]属性的值,除了Object原型对象本身.

从这一点我收集到的是[[Prototype]]属性相当于prototype几乎任何对象的属性.我错了吗?

javascript ecma262

19
推荐指数
2
解决办法
3630
查看次数

纠正Function的原型链

以下程序的正确输出(ECMA标准的正确含义)是多少?

function nl(x) { document.write(x + "<br>"); }
nl(Function.prototype);
nl(Function.prototype.prototype);
nl(Function.prototype.prototype == Object.prototype);
nl(Function.prototype.prototype.prototype);
Run Code Online (Sandbox Code Playgroud)

Chrome和IE6同意说:

function Empty() {}
null for Chrome / undefined for IE6
false
Run Code Online (Sandbox Code Playgroud)

然后崩溃.

Mozilla输出:

function () { }
[object Object]
false
undefined
Run Code Online (Sandbox Code Playgroud)

这些都是正确的吗?Mozilla似乎做得更好,但最好的输出是

function () { }
[object Object]
true
undefined
Run Code Online (Sandbox Code Playgroud)

javascript constructor prototype

7
推荐指数
2
解决办法
7883
查看次数

每个JavaScript对象都是函数吗?

是否有一个不是函数的JavaScript对象?

javascript: x=y=z=Object; alert([window.navigator.userAgent,x,y,z].join("\n\n"))
Run Code Online (Sandbox Code Playgroud)

(有一种意见认为x,y,z仅仅是引用在这种情况下Object,也仅仅是一个参考function Object(){ ... },因为Object的值分配给x它们都是'相同’.作为'证据’

javascript:x=Object;x.p=43;alert([x==Object,x===Object,x.p,Object.p])
Run Code Online (Sandbox Code Playgroud)

显示器

true,true,43,43
Run Code Online (Sandbox Code Playgroud)

由于function Thing(){}x=new Thing()使x对象或一个参考?怎么样new Thing()Thing?或者yy=x=new Thing()y=x=Thing?怎么Thing=function(){}办?区别是没有实际意义的."Everything"(或者它是?)是通过引用调用的,但是可以通过评估字符串来强制逐个调用.所以...)

javascript:
    void function(x,y,z){
        alert(  [window.navigator.userAgent,x,y,z].join("\n\n") )
    }(Object,Object,Object)
Run Code Online (Sandbox Code Playgroud)

要么

javascript:
    void function(x){  (function (y){  (function (z){
             alert(  [window.navigator.userAgent,x,y,z].join("\n\n") )
         })(y) })(x) }(Object)
Run Code Online (Sandbox Code Playgroud)

(不是没有实际意义 - function必须使用(...)或强制的价值观void.(...) …

javascript function object

5
推荐指数
1
解决办法
664
查看次数

JavaScript - 变量/对象同时作为字符串和函数

是否可以创建同时返回字符串和函数的变量/对象?

> a
'Hello World'
> a()
2018-07-13T13:45:10.967Z
Run Code Online (Sandbox Code Playgroud)

我看过一篇关于JavaScript对象的默认方法的文章,但现在找不到了。

我认为应该是这样的:

// Pseudo code
const a = {
    toString: "Hello World",
    function: () => new Date(),
};
Run Code Online (Sandbox Code Playgroud)

javascript methods

5
推荐指数
1
解决办法
873
查看次数

如何调用函数,作为"新对象",并再次调用函数?

作为一种学习体验,我正在尝试创建自己的面向对象的小控制台调试脚本.我希望它类似于jQuery,因为你可以将它称为函数(jQuery('div'))或对象(jQuery.ajax()).

我有下面的代码几乎正常工作.它基本上是"console.log"的别名.

我的目标是能够执行以下操作:

var log = new RadDebug;
// Create our function

log('You selected: %s', fruit_type);
// Invoke the top-level function
// Output: You selected: "Apple"

log.warn('You selected: %s', fruit_type);
// Invoke a method "warn", which displays a caution icon next to the log.
// Output: (!) You selected "Apple"
Run Code Online (Sandbox Code Playgroud)

我正在处理的脚本:

function RadDebug() {
  var debug_enabled = (debug_mode && window.console && window.console.log instanceof Function);

  // If this object was already initialize, redirect …
Run Code Online (Sandbox Code Playgroud)

javascript oop

3
推荐指数
1
解决办法
73
查看次数