说是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,'*');
