js传参

说是JS传参,只是自己的感觉吧!今天的学习很充实。

今天学习内容总结:

1.javascript 预解析和作用域

2.javascript 全局作用域和局部作用域

3.函数:匿名函数,声明函数,函数表达式

4.()执行运算符的运用

5.return的用法,函数参数的解析

课堂笔记:

声明函数或者函数声明,是使用function关键字+函数名声明的函数。
function test(){}

函数表达式 就是使用function关键字,没有函数名,赋值给一个变量的函数。

匿名函数就是使用function关键字但是没有函数名的函数。
var j = function(){}

函数表达式可是尾部加()进行立即执行
var j = function(){}()

匿名函数执行方法,加完(),在后面直接执行:第一个括号把匿名函数定义成函数表达式,第二个表示执行。
(function(){})()

ECMA

全局变量可以在任何地方访问

函数内部的变量,对外部是不可见的

函数内部可以访问外部函数的变量

return的默认返回值是undefind

相关代码:

第一段:

    console.log(i);
    var i = 10;
    function fn2 () {
console.log(a);
var a = 20;
function fn2(){    
    var a = 30;
}
fn2();
    }
    fn();

第二段:

    function fn(){
var i = 10;
function fn2(num){
    if(num>i)
        console.log(num,i);
}
return fn2;
    }
    var news = fn();
    news(20);

第三段:

    function com(){
var character = arguments[arguments.length-1];
if (character == "+"){
    for (var i = 1; i < [arguments.length-1]; i++) {

        arguments[0]+=arguments[i];    
    }
    console.log(arguments[0]);    
}else if(character == "-") {
    for (var i = 1; i < [arguments.length-1]; i++) {

        arguments[0]-=arguments[i];
    } 
    console.log(arguments[0]);    
}else if(character == "*"){
    for (var i = 1; i < [arguments.length-1]; i++) {

        arguments[0]*=arguments[i];
    } 
    console.log(arguments[0]);    
}
    }
    com(1,2,3,'+');
    com(10,5,1,'-');
    com(2,3,4,5,6,7,'*');