var myName = {
name : 'Rakesh',
yearOfBirth : '1981',
calculateAge : function(){
console.log(this);
console.log(2016 - this.yearOfBirth);
function innerFunction(){
console.log("Hello World");
}
innerFunction();
}
}
答案 0 :(得分:0)
Javascript具有功能范围。所以,通常你不能从外面访问javascript中的innerFunction()。
除非您将该函数附加到外部对象。
var dummy = {};
var myName = {
name : 'Rakesh',
yearOfBirth : '1981',
calculateAge : function(){
console.log(this);
console.log(2016 - this.yearOfBirth);
function innerFunction(){
console.log("Hello World");
};
innerFunction();
dummy.innerFunction = innerFunction;
}
}
// Then you can do
myName.calculateAge(); // After you run this line, you will have dummy.innerFunction available
dummy.innerFunction();
这是一种非常愚蠢的方式。
答案 1 :(得分:0)
有很多方法可以做到这一点,一个是 -
var myName = {
name: 'Rakesh',
yearOfBirth: '1981',
calculateAge: function() {
console.log(this);
console.log(2016 - this.yearOfBirth);
function innerFunction() {
console.log("Hello World");
};
return innerFunction;
}
}
myName.calculateAge()();