JavaScript函数

函数:就是将一些语句进行封装,然后通过调用的形式,执行这段代码。

函数的作用:

  1,将大量重复的语句写在函数里,可以直接调用函数,避免重复劳动。

  2,简化编程,让编程模块化。

console.log("hello world");
        sayHello(); // 由于是同时加载所以可以调用。    //调用函数
    //定义函数:
        function sayHello(){
            console.log("hello");
            console.log("hello world");

    }

函数的定义:

  函数的语法:

function 函数名字(){

    }

  1,function:是一个关键字。

  2,函数名字:命名规定和变量的命名规定一样。

  3,参数:后面有一对小括号,里面是放参数。

  4,大括号里面,是这个函数的语句。

函数的调用: 

  函数名().

函数的参数:形参和实参

  函数的参数包括形参和实参

  注意:实际参数和形式参数的个数,要相同。

  例子:

        sum(3,4); //7
        sum("3",4); // "34"
        sum("Hello","World"); // HelloWorld

        //函数:求和
        function sum(a, b) {
            console.log(a + b);
        }        

函数的返回值:

        console.log(sum(3, 4));

        //函数:求和
        function sum(a, b) {
            return a + b;
        }    

伪数组 arguments:

  arguments代表的是实参,且只在函数中使用。

  1,返回函数实参的个数:arguments.length

    fn(2,4);
    fn(2,4,6);
    fn(2,4,6,8);

    function fn(a,b,c) {
        console.log(arguments);            //arguments接收所有参数且返回个伪数组
        console.log(fn.length);         //获取形参的个数
        console.log(arguments.length);  //获取实参的个数

        console.log("----------------");
    }

之所以说argumes是伪数组,因为:arguments可以修改元素,但不能改变数组的长短:

    fn(2,4);
    fn(2,4,6);
    fn(2,4,6,8);

    function fn(a,b) {
        arguments[0] = 99;  //将实参的第一个数改为99
        arguments.push(8);  //此方法不通过,因为无法增加元素 
    }

清空数组的方式:

        var arr = [1,2,3,4,5];
        arr.splice(0);
        console.log(arr);    //[]
        arr.length = 0;
        console.log(arr);    //[]
        arr = [];
        console.log(arr);    //[]        

关于DOM的事件操作:

  JavaScript基础分为三个部分:   

    1,ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

    2,DOM:文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

    3,BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。

事件的三要素:

JS是以事件驱动为核心的一门语言。

  1,事件源。引发后续事件的html标签。

  2,事件。js定义好的。

  3,事件驱动程序。对样式和html的操作,也就是DOM。

代码的书写步骤:

  1,获取事件源:documen.getElementById('id');

  2,绑定事件:事件源box,事件onclick = function(){事件驱动程序}; 

  3,书写事件驱动程序:关于DOM的操作。

<script type="text/javascript">
        window.onload = function(){
            var div = document.getElementById('box1');
            // 2,绑定事件
            div.onclick = function(){
                // 3,书写驱动程序
                alert('顾清秋')
            }
        }
    </script>
    <style type="text/css">
        #box1{
             100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="box1"></div>
</body>
例子

常见事件如下:

1,获取事件源的方式(DOM节点的获取)

var div1 = document.getElementById("box1");      //方式一:通过id获取单个标签
 
var arr1 = document.getElementsByTagName("div1");     //方式二:通过 标签名 获得 标签数组,所以有s
 
var arr2 = document.getElementsByClassName("hehe");  //方式三:通过 类名 获得 标签数组,所以有s

2,绑定事件的方式:

  方式一:直接绑定匿名函数

<div id="box1" ></div>

<script type="text/javascript">
    var div1 = document.getElementById("box1");
    //绑定事件的第一种方式
    div1.onclick = function () {
        alert("我是弹出的内容");
    }
</script>

  方式二:先单独定义函数,在绑定。

<div id="box1" ></div>

<script type="text/javascript">
    var div1 = document.getElementById("box1");
    //绑定事件的第二种方式
    div1.onclick = fn;   //注意,这里是fn,不是fn()。fn()指的是返回值。
    //单独定义函数
    function fn() {
        alert("我是弹出的内容");
    }
</script>

  注意上方代码的注释。绑定的时候,是写fn,不是写fn()。fn代表的是整个函数,而fn()代表的是返回值。

  方式三:行内绑定。

<!--行内绑定-->
<div id="box1" onclick="fn()"></div>

<script type="text/javascript">

    function fn() {
        alert("我是弹出的内容");
    }

</script>

  注意第一行代码,绑定时,是写的"fn()",不是写的"fn"。因为绑定的这段代码不是写在js代码里的,而是被识别成了字符串

3,事件驱动程序:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        #box{
            width: 100px;
            height: 100px;
            background-color:red;
        }
    </style>
    <script type="text/javascript">
            window.onload = function(){
                var oDiv = document.getElementById('box');
                console.log(oDiv);
                oDiv.onclick = function(){
                    oDiv.style.width = "200px";
                    oDiv.style.height = "200px";
                    oDiv.style.backgroundColor = 'yellow';
            }
        }
    </script>
</head>
<body>
    <div id="box"></div>
</body>
</html>

上方代码的注意事项:

  1,在js里写属性时,要用引号。

  2,在js里写属性名时,都写成驼峰体。例如 background-color要写成backgroundColor.

有一点我们要知道:js的加载是和html同步加载的。因此,如果使用元素在定义元素之前,容易报错。这个时候,onload事件就能派上用场了,我们可以把使用元素的代码放在onload里,就能保证这段代码是最后执行。

建议是:整个页面上所有元素加载完毕在执行js内容。所以,window.onload可以预防使用标签在定义标签之前。

事件案例:

  1,京东顶部广告栏关闭;

原文地址:https://www.cnblogs.com/stfei/p/9108183.html