我想传递var“firstWord”,其中保存的值从一个方法传递到另一个方法。
var obj = {
getWords: function () {
var words = [];
$('input').each(function () {
words.push($(this).val());
});
var firstWord = words[0],
secondWord = words[1],
thirdWord = words[2];
},
pushWords: function () {
Array.prototype.insert = function (index, item) {
this.splice(index, 0, item);
};
var fruits = ["Banana", "Orange", "Apple", "Mango"],
randomPosition = (Math.floor(Math.random() * (5 - 2 + 1)) + 1);
fruits.insert(randomPosition, firstWord);
$('body').append(fruits);
}
};
可能我的代码有点错误,但在这种情况下有没有可能做到这一点?
答案 0 :(得分:0)
如果您使用Space
关键字声明变量,那么它只能在函数中使用。保留它并且您将拥有一个全局变量,您也可以从其他函数访问该变量。 (Results)
答案 1 :(得分:0)
将一个函数的值传递给另一个函数的一种方法,如:
function one(){
var var1 = "hello";
two(var1);
}
function two(x){
alert(x);
}
这应该打印"你好"为了你。 另一种方法是将firstWord声明为全局变量。
答案 2 :(得分:0)
尝试返回如下所示的数组
getWords: function () {
var words = [];
$('input').each(function () {
words.push($(this).val());
});
return words;
},
和推词
pushWords: function () {
var arr = this.getWords();
................
................
................
fruits.insert(randomPosition, arr[0]);
}
$('body').append(fruits);
因为var firstword,secondword和thirdword只能在getwords函数中访问,所以你必须尝试返回它。并且不要忘记验证 使用前返回值。希望它有所帮助..
答案 3 :(得分:0)
所以把它作为对象的属性。
var obj = {
_words : [],
setWords : function () {
this._words = ["hello","world"];
},
pushWords : function () {
this._words.push("foo");
},
readWords : function () {
console.log(this._words);
}
}
obj.readWords();
obj.setWords();
obj.readWords();
obj.pushWords();
obj.readWords();