function a() {}
var b = a;
// 希望 a 的值為 1,而非 a() 的返回值為 1
var b = a 將函數 對象引用 賦給變量 b,此時 b 也是一個函數,調用需寫 b()。若想讓 a 「等於」1,需修改函數內部邏輯或返回值,而非直接賦值。
提到的「原型」是指 prototype,用於共享方法節省內存:
function Person(name) { this.name = name; }
Person.prototype.sayHi = function() { console.log(this.name); };
此處與函數賦值無關,屬於對象導向設計模式。
function a() { return 1; }var fn = a; fn() 調用