Javascript JS中的函数定义方法
这是什么样的函数,我如何称呼它:Javascript JS中的函数定义方法,javascript,function,call,Javascript,Function,Call,这是什么样的函数,我如何称呼它: window.bla = function() {} 它与加载功能相同还是与原型相同?这是将bla属性分配给窗口对象。这不是一个onload函数。它只是将函数绑定到window.bla 可以这样称呼: var Example = function() { return this; }; Example.prototype.bla = function() {}; window.onload = function() { // stuff h
window.bla = function() {}
它与加载功能相同还是与原型相同?这是将
bla
属性分配给窗口
对象。这不是一个onload函数。它只是将函数绑定到window.bla
可以这样称呼:
var Example = function() {
return this;
};
Example.prototype.bla = function() {};
window.onload = function() {
// stuff here
};
window.bla()。它将与bla=function(){}
相同
原型设计如下所示:
var Example = function() {
return this;
};
Example.prototype.bla = function() {};
window.onload = function() {
// stuff here
};
加载时,如下所示:
var Example = function() {
return this;
};
Example.prototype.bla = function() {};
window.onload = function() {
// stuff here
};
这可以使用window.bla()
调用。该函数被分配给窗口
变量的属性。这与将函数声明为function bla(){}
相同,因为默认情况下,函数是在全局窗口对象上创建的
这与原型设计不同,因为它将函数添加到窗口对象的单个实例,而不是该类型的所有对象。如果您在全局范围内,则只需执行*即可调用它:
bla();
如果您不是,您还可以:
window.bla();
*您可以在任何范围内执行bla(),但已定义另一个bla变量的范围除外。您可以在此处找到一个快速示例:
我强烈建议:
这种定义函数的方法与原型无关。你可以在任何范围内bla()
,只要没有另一个bla()
的范围更窄。@quentin谢谢,更新了问题以反映你的评论。function bla(){}
在另一个函数中。默认情况下,函数不是在全局窗口对象上创建的,它们的作用域是限定的,并且类似于将其声明为var blah=function(){}
,除非某个地方有var bla
。如果将bla粘贴到var bla
下面的某个作用域中,则是的,否则它是完全相同的。