//return 返回值。
function box(){
alert("记得要调用哦!")
}
box(); //函数本身没有运行功能,需要调用才可以执行。
function box(name,job){
alert("姓名:" + name + "工作:" + job);
box(); //调用函数时,如果没有输入里面的参数,这种情况则会输出姓名:undefined工作undefied
box("123","web前端") //姓名:123工作web前端。如果只传一个参数进去,则第一个显示,第二个依然是undefined。
function box(){
return "12345,上山打老虎" //return表示把这句话字符串返回回来。
}
box(); //已经调用函数,但不会显示出结果。
console.log(box());
function box(){
return 1;
return 2;
}
alert(box()); //只弹出1一次。当一个函数遇到第一个return时,就会终止函数继续往下执行
function box(){
var sum = 0;
for(var i = 0;i < arguments.length;i++){
sum += arguments[i];
}
return sum;
}
alert(box(1,4,5));//动态传参,该函数可以用来计算参数的和。计算结果为10.
function box(num){
if(num <= 1){
return 1;
}else{
return num*box(num - 1);
}
}
alert(box(4)); //这是一个阶乘!计算4*3*2*1;
function box(num){
if(num <= 1){
return 1;
}else{
return num*box(num - 1); /
}
}
alert(box(4)); //如果函数名改变,则可以使用arguments.callee来调用函数本身 ,实现递归。
//this this引用的是函数据以执行操作的对象,或者说函数调用语句所处的那个作用域。ps:在当全局作用域中调用函数时,this引用的对象就是window。
window是js例最大的对象;也是最外围的对象。
alert(window); //打印结果为 object window ;
alert(typeof window);//打印结果为object;
alert(this); //this目前表示的是window。
window.width = "100px";
function sayWidth(){
alert(this) -->这里的this指的是window对象
}
sayWidth(); //弹出object Window;
window.width = "100px";
function sayWidth(){
alert(this.width); -->这里执行的时候是动态的,第一次执行是在window环境下,第二次是在box下执行。
}
sayWidth();
var box = {
width:"200px"
};
box.sayWidth = sayWidth;
box.sayWidth();
//这段代码先弹出100px,在弹出200px。
-->函数属性和方法:
-->ECMAscript里函数是一个对象,每一个函数包含两个属性,length(表示函数希望接收的命名参数的个数)和prototype
// 变量及作用域:
// 变量可能包含两张不同数据类型的值:基本类型和引用类类型值。基本类型值指的是简单的数据段,而引用类型指的是那些可能由多个值构成的对象。
// 传递参数
function box(num){ //按值传递,传递的参数是基本类型。
num += 10;
return num;
}
var num = 50;
alert(box(num)); //60;
alert(num); //50;