javascript高程3 进修笔记(二)

ECMAScript function的明白

ECMAScript 函数与其他言语函数最大的差别在于,其不介意传入若干参数以及参数的范例
比方函数的形参有两个,然则挪用函数传入的参数能够写一个,三个或不写参数(对应undefined)等,剖析器都能够一般剖析,这是由于
ECMAScript中参数在内部是以一个数组情势来示意,故而不需要关联传入参数的数目和范例
在函数体内经由过程arguments对象来访问这个参数数组,从而猎取通报给函数的参数
修正定名参数值不会转变arguments对应值
能够经由过程arguments.length来取得传给函数参数的个数,顺次,能够来写差别的完成要领
ECMAScript没有重载的观点,重名函数,其后会掩盖前面雷同定义的,然则能够经由过程上一点模拟重载

基础范例 援用范例

援用范例,能够增加属性和要领
基础范例和援用范例值在复制变量值的差别,援用范例是经由过程指针对象来完成的
参数通报,两者都是经由过程值通报的
instanceof来检测详细的援用范例

demo代码 写一遍 明白一遍

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js高程进修笔记2 demo</title>
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    <style type="text/css">
    </style>
    <script type="text/javascript">
        function jsFunction(demoNum){
            switch(demoNum){
                case 1: sayHi("Jim"," nice to meet you");break;
                case 2: sayHi();break;
                case 3: sayHi2("Jim"," nice to meet you");break;
                case 4: doAdd(10);break;
                case 5: doAdd(10,2000);break;
            }
        }

        // 有参数的
        function sayHi(name,message){
            alert("hello "+name+message);
        }

        // 经由过程arguments猎取参数
        function sayHi2(){
            alert("hello "+arguments[0]+arguments[1]);
        }

        // 经由过程arguments.length完成重载的功用
        function doAdd(){
            if(arguments.length == 1){
                alert(arguments[0] + 10);
            }else if(arguments.length == 2){
                // 修正定名参数值不会转变arguments对应值 
                //arguments[1] = 100; 
                alert(arguments[0]+arguments[1]);
            }
        }

        function test(){
            var person = new Object();
            setName(person);
            alert(person.name);
        }

        function setName(obj){
            obj.name = "Nicholas"
            // 援用变量的参数通报 也是值通报
            // obj = new Object();
            // obj.name = "Jim";
        }


    </script>
</head>
<body>
    <div class="content">
       js函数的明白,数值变量,援用变量
    </div>
    <hr/>
    <div class="jsFunction">
        <div>js函数的一些demo</div>
        <input class="demo1" type="button" value="sayHi" onclick="jsFunction(1)">
        <input class="demo2" type="button" value="sayHi2" onclick="jsFunction(2)">
        <input class="demo3" type="button" value="sayHi2" onclick="jsFunction(3)">
        <input class="demo4" type="button" value="doAdd(10)" onclick="jsFunction(4)">
        <input class="demo5" type="button" value="doAdd(10,20)" onclick="jsFunction(5)">
    </div>
    <hr/>
    <div class="dataType">
        <div>数值范例 援用范例</div>
        <input class="demo6" type="button" value="setName" onclick="test()">
    </div>
</body>
</html>
    原文作者:lifesimple
    原文地址: https://segmentfault.com/a/1190000002667080
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞