Сообщение от Rise
|
создает функцию с именем "bound "+func.name
|
мда, сейчас поэксперементировал ради интереса. Не всегда имя берет.
Там вообще черт знает какие правила:
<html>
<body>
<script>
window.one = function(){}
two = function(){}
var three = function(){}
foo = one.bind(window)
bar = two.bind(window)
baz = three.bind(window)
console.log(foo.name, bar.name, baz.name)
</script>
</body>
</html>
выводит bound bound two bound three
хотя, window.someVariable = someObject должно быть эквивалентно someVariable = someObject
У дезигнеров жаваскрипта, по ходу, очередной приступ дезигна головного мозга, сука
Причем, по сути, эквивалентный код
<body>
<script>
window.one = new Function
two = new Function
var three = new Function
foo = one.bind(window)
bar = two.bind(window)
baz = three.bind(window)
console.log(foo.name, bar.name, baz.name)
</script>
</body>
</html>
Выводит совершенно другую хуйню
bound anonymous bound anonymous bound anonymous
Но тут хоть все логично, блеать,так оно и должно быть
UPD разгадал тайну запила этих дегенератов.
Когда создается с понтом "анонимная ф-ция", в выражениях типа myVar = function(){} или var myVar = function(){}, ей автоматом навешивается имя. Где тут логика, хз.
<html>
<body>
<script>
one = function(){}
two = one
console.log(one.name, two.name) // one one
</script>
</body>
</html>
ЗЫ тестил в хроме, другие реализации хз как себя ведут