【问题标题】:JS: Making a global function the value of an object?JS:让一个全局函数成为一个对象的值?
【发布时间】:2016-02-03 20:42:18
【问题描述】:

是否可以将(全局)函数的返回值设为对象的值?

例如:

var wonka = "everlastinggobstopper";

function funky(my_string){
var string_length = my_string.length
};

myObject = {
word_length: funky(wonka),
};

如何在不在 myObject 中再次定义函数的情况下使其运行?

【问题讨论】:

  • 只是return string_length 来自您的功能。有什么问题?
  • 只使用myObject = { word_length: funky } 可能是你的意思?
  • 我可以将值设置为等于函数本身,但不能设置为“wonka”作为参数的函数。为什么我不能包含参数?

标签: javascript function object return-value


【解决方案1】:

函数需要返回一些东西。

function funky(my_string) {
    var string_length = my_string.length;
    return string_length;
}

您的函数没有return 语句,因此您将undefined 分配给word_length 属性。

【讨论】:

  • 谢谢!这解释了很多。如果我用数组尝试这个,比如 if var wonka = ["everlasting gobstopper", "laffy taffy", "nerds"] 然后我尝试将 word_length 属性设置为 funky(wonka[1])?当我在浏览器中尝试这个时,我得到“word_length: Array[1]”(?),但是当我点击它展开时,“Array[1]”的值是正确的。这看起来对吗,还是我错过了什么?
  • 不确定您所说的“在浏览器中尝试”与“单击以展开”是什么意思。你能做一个 jsfiddle 来显示你在说什么吗?
  • 抱歉我的解释不好!我真的很新。这是我的小提琴:jsfiddle.net/cave_coder1/8ow0n6ws/5
  • 当我尝试你的小提琴时,控制台显示Object { word_length: 11}
  • 嗯好吧,一定是我。非常感谢您的所有帮助!
猜你喜欢
  • 2014-08-01
  • 2021-07-31
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多