1.函数概念:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.
语法:fuction hello(){
code...
}
a)手动驱动:
eg: hello();
b)事件调用:
eg:
var oCalculate = document.getElementById("calculate"); oCalculate.onclick = function(){ hello(); };
2.九九乘法表
function createProductTable(rows) { for(var i = 1; i <= rows; i++) { for(var j = 1; j <= i; j++) { document.write(j + '*' + i + '=' + j * i + ' '); } document.write(' '); } }
3.函数的创建方式
a)函数声明式的方式创建函数
function funcName() {}
b)函数表达式的方式创建函数
var funcName = function () {};
c)通过构造函数的方式创建函数
构造函数:出现在new运算符后的函数,称为构造函数
var funcName = new Function ();
注:声明式和表达式的区别:
1)声明式必须指定函数名.
2)表达式可以不指定函数名.
eg: (function(){})();
4.实参和形参
function sum(a, b) {
alert(a + b);
}
sum(4, 8);
a,b为形参4,8为实参.
注:对象中,冒号前面的数据可以称为键、下标、或者key,冒号后面的值称为值或者value
5.arguments:用来存放函数调用时传入的实参的对象(数组)。
1)概念
a)arguments 存活在函数内部(不需要我们定义,JS解析器帮我们内置该变量)
b)arguments 值类型(对象类型),包含的是实参的个数和数据.
2)作用
a)通过下标的方式获取某一个值
eg: console.log(arguments[i]);
b)通过便利的方式获取所有的值.
eg:
for(var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
注:arguments[i]i一般是从0开始计算.i=0是代表第一个位置的数.
6.return
eg:
function myFunction(a,b){ var c = a + b; return c; } var result = myFunction(3,4); document.write(result);
7.js执行的顺序
第一步:加载第一个script代码块
第二步:语法检查
第三步:预解析(将var声明的变量和声明式创建的函数放到代码的最前面)
第四步:开始正式执行代码,从上往下。
第五步:加载第二个script代码块。
8.return 执行加减乘除
function $(id){ return document.getElementById(id); } var oFirst = $("first"); var oSecond = $("second"); var oCalculate = $("calculate"); oCalculate.onclick = function (){ var sFirst = oFirst.value; var sSecond = oSecond.value; var result = sort(sFirst,sSecond);//将通过计算函数所得的结果复制给变量result。此为与计算函数的链接点! console.log(result.sum); }
重新写一个方法,主要用于计算加减乘除
function sort(a,b){ var sum =Number(a)+Number(b); var reduce = a - b ; var product = a * b; var divide = a / b; return{ "sum":sum, "reduce":reduce, "prodect":product, "divide":divide }; }