是这样写吗

是这样写吗

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>


<body>

    <script type="text/javascript">

    function insert(value 2) {

        return {

            into: function(array 1,3) {

                return {

                    after: function(afterValue 1) {

                        array.splice(array.indexOf(afterValue) + 1, 0, value);

                        return array;

                    }

                };

            }

        };

    }


    insert(2).into([1, 3]).after(1);

    // 补充代码

    const insert=value=>{

        into=array=>{

            after=afterValue=>{

                 array.splice(array.indexOf(afterValue) + 1, 0, value);

                        return array;

            }

        }

    }

    

    </script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕星星 2020-11-30 09:32:28

同学你好,理解的不完全正确。

1、into:array=>{  } 这样改,是把后面的function改为了箭头函数,其他地方不动,所以同学觉得改的地方太少,但是对于本题来说,这样改就可以。

2、‘加了花括号{}以后必须要写个return’只能针对本题来说,因为最后进行了链式调用,所以需要加return将对象返回才能调用。其他代码不是必须的。

如果不想加return,按照老师提供的第二种方式修改即可

http://img1.sycdn.imooc.com//climg/5fc44ba50985cf6f08380447.jpg

祝学习愉快!

好帮手慕星星 2020-11-29 18:32:54

同学你好,问题解答如下:

1、这两个不一样

http://img1.sycdn.imooc.com//climg/5fc377b9090664f004810113.jpg

一个是对象,一个是函数,调用方式不一样。例如

http://img1.sycdn.imooc.com//climg/5fc377da09dedb1204100290.jpg

对象通过obj点调用into方法,而定义的into方法直接调用。所以类比编程练习中,也需要写为对象的形式,否则无法通过点去调用

http://img1.sycdn.imooc.com//climg/5fc3781a097afb7e04230087.jpg

2、如果不想写return,可以在函数外加(),默认return内容

http://img1.sycdn.imooc.com//climg/5fc378a309f4106408670461.jpg
祝学习愉快!

  • 提问者 Ting111 #1
    所以我的理解对不对呢?我问得问题你还没回答,你只是说了要怎么用
    2020-11-29 18:42:20
好帮手慕星星 2020-11-29 17:58:07

同学你好,预留代码中into和after是对象的形式,into是属性名,后面的function是属性值

http://img1.sycdn.imooc.com//climg/5fc3701009248de505500204.jpg

而在同学修改的代码中,把into直接写为了函数的形式

http://img1.sycdn.imooc.com//climg/5fc370640944482e05200143.jpg

所以结构就是不对的。

老师在上一次的回复中给同学修改为了对象的形式,就是为了能够保持一致性

http://img1.sycdn.imooc.com//climg/5fc3709a096ad72e08520487.jpg

自己再理解下,祝学习愉快!

  • 提问者 Ting111 #1

    ​constfunction into( array){

    return a+b;

    }

     相当于

     into=array=>{ }


    ----------------------------------------------------------------------------

    into: function(array 1,3) { } 

    相当于

    const function into(array){   }不是一样的吗

    2020-11-29 18:10:00
  • 提问者 Ting111 #2

    你是说相当于name:xiaoming 这样?

    那改成into:array=>{  }  也不会多出来两个{}啊,不是就改了一个等号吗

    2020-11-29 18:13:48
  • 提问者 Ting111 #3

    是加了花括号{}以后必须要写个return是吗,然后return里面又是多个参数所以又是花括号

    2020-11-29 18:17:29
好帮手慕星星 2020-11-29 16:30:26

同学你好,into和after是对象的形式,不要忘记了放在{}中,并修改为属性名和属性值的形式,参考:

http://img1.sycdn.imooc.com//climg/5fc35bf8099f065d09440525.jpg

祝学习愉快!

  • 提问者 Ting111 #1

    ?什么意思

    2020-11-29 16:33:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师