js函数(一)
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('<br>');
}
}
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
};
}
语法: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('<br>');
}
}
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
};
}