2016-10-13 5 views

답변

2

함수 외부에서 함수를 작성한 방식으로 액세스 할 수 없습니다. 함수에서 정의한 범위를 벗어나 액세스 할 수 없습니다.

변수 외부에 변수 cars을 정의한 다음 함수 내에 설정할 수 있습니다. 그런 다음 함수가 호출되면이 함수가 설정 한 값에 액세스 할 수 있습니다.

var cars; 

function initStage(){ 
    cars = { 
     car: "ford", 
     speed: 300 
    } 
} 
1

해당 객체의 범위는 선언되는 함수입니다. 당신은 값을 반환 할 수 있습니다 그러나

.

function initStage(){ 
    var cars = { 
    car: "ford", speed: 300 
    } 
    return cars; 
} 

var initCars = initStage(); 

통해 UR 요구 사항에 따라, 당신은 또한 생성자하고 차 인스턴스의 속성을 개체를 가질 수있다.

function initStage(){ 
    this.cars = { 
    car: "ford", speed: 300 
    } 
} 

new initStage().cars 
0

당신은 그것을 액세스 할 수 있습니다 직접

function initStage(){ 
     var cars = { 
     car: "ford", speed: 300 
     } 
     console.log(cars.car); 
     } 
0

네 가지 가능한 해결 방법 :

반환이는 getCar를 사용할 수있는

function getCar(){ 
    var cars = { 
      car: "ford", speed: 300 
     } 
    return cars 
} 

그래서 객체의 값() 자동차 대상물을 얻으려면

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} 

이들 모두는 실행 가능한 옵션으로 다양한 방법으로 달성 할 수 있습니다. 같은 일을한다. 나는 그것이 가장 단순하기 때문에 마지막 것을 권합니다.

관련 문제