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