首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 函數賦值與調用:變量引用函數的正確姿勢

     編輯:程式設計綜合問答

問題場景

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() 調用
  • 切勿嘗試將函數對象直接「賦值為」基本類型
  1. 上一篇文章:
  2. 下一篇文章:
Struts2 ` s:textarea ` 與原生 ` textarea ` 差異解析 Struts2 `` 與原生 `