Neden buna izin verilir?function.prototype.bind işlev bildirimini doğrudan kullanma
var f = function() {
console.log(this.x);
}.bind({x:1})();
Ve bu neden veya neden daha iyi değil, bu durumda sözdizimi hatası alıyorum?
function f() {
console.log(this.x);
}.bind({x:1})();
Yani, bu işi almak için fonksiyon İfade sözdizimi ihtiyaç ve işlev bildiriminde doğrudan bind
yöntemi kullanmak için bir yol yoktur neden?
Bir işlev bildirimi bir ifade değildir, bu yüzden bunu yapamazsınız. Ancak '' function f() {} .bind ({x: 1})() 'ifadesini zorlayabilirsiniz. [IIFE] hakkında bilgi arayın (http://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript). – elclanrs
Deklarasyona neden izin verilmediğini biliyor musunuz? – user3448600
Çünkü bu bir ifade değil. Sözdizimi belirsizdir, bir ifadeyi zorlayarak ayrılmanız gerekir. Daha fazla bilgi için teknik özellikleri inceleyiniz. Http://www.ecma-international.org/ecma-262/5.1/#sec-13 – elclanrs