一、带返回值的函数。DqY易塔云建站-模板下载,web开发资源,技术博客
function Hi(){DqY易塔云建站-模板下载,web开发资源,技术博客
var name = "blue";DqY易塔云建站-模板下载,web开发资源,技术博客
return name;DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
var b = Hi();DqY易塔云建站-模板下载,web开发资源,技术博客
console.log(b);//blue 也可以写成 console.log(Hi());
DqY易塔云建站-模板下载,web开发资源,技术博客我们按照Mozilla官网说明进行案例解释:DqY易塔云建站-模板下载,web开发资源,技术博客
function makeFunc(){DqY易塔云建站-模板下载,web开发资源,技术博客
var name = "Mozilla";DqY易塔云建站-模板下载,web开发资源,技术博客
function displayName(){DqY易塔云建站-模板下载,web开发资源,技术博客
console.log(name);DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
return displayName;DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
var myFunc = makeFunc();DqY易塔云建站-模板下载,web开发资源,技术博客
myFunc();
DqY易塔云建站-模板下载,web开发资源,技术博客外部函数makeFunc()里面声明了一个本地变量,local variable,然后是一个inner Function。最后返回的是一个函数,这个函数指向inner Function。在外部初始化outter Function,得到的值传给变量myFunc。这里的变量存在着一个函数体,打印后显示一个函数。最后调用,结尾为:
DqY易塔云建站-模板下载,web开发资源,技术博客 □:找到makrFunc()
DqY易塔云建站-模板下载,web开发资源,技术博客 □:找到return的上一步,inner Function → displayName
DqY易塔云建站-模板下载,web开发资源,技术博客 □:inner Function函数体内没有找到name变量,继续往该inner Function的作用域链中查找,也就是上一级。
DqY易塔云建站-模板下载,web开发资源,技术博客 □:找到后把结果依次打印出来。
DqY易塔云建站-模板下载,web开发资源,技术博客如果返回的是一个本地变量,那么可以改为:
DqY易塔云建站-模板下载,web开发资源,技术博客
function makeFunc(){DqY易塔云建站-模板下载,web开发资源,技术博客
var name = "Mozilla";DqY易塔云建站-模板下载,web开发资源,技术博客
function displayName(){DqY易塔云建站-模板下载,web开发资源,技术博客
console.log(name);DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
return name;DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
var myFunc = makeFunc();DqY易塔云建站-模板下载,web开发资源,技术博客
console.log(myFunc);//Mozilla
DqY易塔云建站-模板下载,web开发资源,技术博客二、使用对象。DqY易塔云建站-模板下载,web开发资源,技术博客DqY易塔云建站-模板下载,web开发资源,技术博客很多具有相同属性和方法的对象可以称之为类,js另外的一种使用方式就是模仿其他oo语言的类概念。但是官方并没有对类进行定义(截止到ES5)。DqY易塔云建站-模板下载,web开发资源,技术博客
var person = new Object();DqY易塔云建站-模板下载,web开发资源,技术博客
person.name = "red";DqY易塔云建站-模板下载,web开发资源,技术博客
person.age = 29;DqY易塔云建站-模板下载,web开发资源,技术博客
person.sayHi = function(arg0,arg1,arg2){DqY易塔云建站-模板下载,web开发资源,技术博客
alert("Hi, " + this.name)DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
console.log(person.name);
DqY易塔云建站-模板下载,web开发资源,技术博客但是上面的方法不要再用了,都在用对象字面量形式:
DqY易塔云建站-模板下载,web开发资源,技术博客
var person = {DqY易塔云建站-模板下载,web开发资源,技术博客
name : "blue",DqY易塔云建站-模板下载,web开发资源,技术博客
age : 29,DqY易塔云建站-模板下载,web开发资源,技术博客
title : "yyy",DqY易塔云建站-模板下载,web开发资源,技术博客
sayName : function(){DqY易塔云建站-模板下载,web开发资源,技术博客
alert(this.name)DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
}DqY易塔云建站-模板下载,web开发资源,技术博客
console.log(person.name);