我想在这个函数中访问car对象的属性吗?
function initStage(){
var cars = {
car: "ford", speed: 300
} }
答案 0 :(得分:2)
您无法按照您编写的方式从函数外部访问它,这将从函数定义的范围之外访问它。
您可以在函数外部定义变量cars
,然后在函数内部设置它。然后,一旦调用该函数,您就可以访问它设置的值。
var cars;
function initStage(){
cars = {
car: "ford",
speed: 300
}
}
答案 1 :(得分:1)
该对象的范围是声明它的函数。
但是你可以返回值。
function initStage(){
var cars = {
car: "ford", speed: 300
}
return cars;
}
var initCars = initStage();
根据您的要求,您还可以将其作为构造函数,并让汽车对象为实例的属性。
function initStage(){
this.cars = {
car: "ford", speed: 300
}
}
new initStage().cars
答案 2 :(得分:0)
您可以直接访问
function initStage(){
var cars = {
car: "ford", speed: 300
}
console.log(cars.car);
}
答案 3 :(得分:0)
四种可能的解决方案:
返回对象的值
function getCar(){
var cars = {
car: "ford", speed: 300
}
return cars
}
这样你就可以使用getCar()来获取汽车对象
getCar() // {car:"ford",speed:300}
使用您的函数定义对象(构造函数表示法)
function car(car,speed){
this.car = car
this.speed = speed
}
然后你可以像这样定义一辆新车:
ford = new car("Ford",200)
ford //{car:"Ford",speed:200}
使用您的函数定义对象(文字表示法)
var cars; //Define cars for later access
function setCar(){
cars = {
car: "ford", speed: 300
}
}
然后你可以使用变量汽车来获得汽车对象
cars // {car:"ford",speed:300}
摆脱这些功能,只使用文字符号
var cars = {
car: "ford", speed: 300
}
然后您可以使用
进行访问cars //{car:"ford",speed:300}
所有这些都是可行的选择,允许多种方式来实现相同的任务。我推荐最后一个,因为它是最简单的。