zl程序教程

您现在的位置是:首页 >  后端

当前栏目

(七)js函数一

JS 函数
2023-09-14 09:07:54 时间
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
        };
    }