You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以编程方式获取Knockout.js计算可观察对象的求值函数定义字符串

获取Knockout.js计算字段的求值函数字符串
  • 直接通过Knockout计算属性的内部属性_fn获取求值函数,再调用toString()就能拿到函数定义的字符串:

示例代码:

// 定义计算属性
self.field = ko.computed(function () {
    return 'HELLO WORLD';
});

// 获取求值函数的字符串表示
const funcStr = self.field._fn.toString();
// 若需要双引号包裹的格式,直接拼接即可
const quotedFuncStr = `"${funcStr}"`;

执行后funcStr的输出为:

function () {
    return 'HELLO WORLD';
}
  • 之前的方法失效原因:
    • JSON.stringify()会自动忽略对象中的函数类型属性,无法捕获函数内容
    • Object.keys()仅能获取对象的可枚举自有属性,而_fn是Knockout的内部不可枚举属性,因此无法被检索到

内容的提问来源于stack exchange,提问作者Ryan Penfold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:49:50