微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

函数参考-请赐教!

如何解决函数参考-请赐教!

| 谁能解释为什么下面两个不相等?我基本上是想弄清楚幕后发生的事情。我的理解是,它们都引用相同的功能,但事实并非如此。
var foo = function bar() {}

typeof foo //\"function\"
typeof bar //\"function\"

foo === bar //false
foo == bar //false
    

解决方法

        我不认识您,但我的浏览器以ѭ2return1的价格返回
typeof bar //\"undefined\"
演示http://jsfiddle.net/gaby/t8Czr/ 该方法的“ 4”引用仅在方法本身内部可用。     ,        条未定义。 Bar仅存在于foo的范围内。 如果要先声明bar,然后将foo设置为bar,则结果将与预期的一样。     ,        这是一个命名函数表达式,因为已分配给
foo
。在命名函数表达式中,函数的名称仅在函数本身的封闭范围内可用,而在外部不可用。 在外面,它只是不确定的。
var foo = function bar() { typeof bar; /* function */ };
bar; // undefined
如果没有到
foo
的赋值,那将是一个函数声明,并且标识符
bar
在整个封闭范围内都可用,甚至在声明函数之前也是如此。
typeof bar; // function
function bar() {}
这是一篇很好的文章,旨在了解命名函数表达式的工作方式以及它们与函数声明的区别。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。