7-4选择题

7-4选择题

这么多个调用来调用去,完全不懂了,能不能详细解释下这一题

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

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

2回答
妮可妮可妮_ 2018-05-04 18:07:13

1.     count()()这样调用,每次都会创建一个新的局部作用域,num的值会不断地被初始化为1

2.     return num++表示先返回num的值,再将num加1

3.     先将count()赋给fn,此时count()只调用了一次,接下来多次调用fn()的时候,count函数并没有多次调用,num只会在count函数调用的时候被初始化,所以多次调用fn()的时候num不会被多次初始化

由于fn相当于count函数的内层函数(var fn=count();这行代码执行后,就调用了count(),调用count后就将里面的函数赋值给了fn,所以说fn就相当于函数的内层函数了。),可以访问count中的变量num,所以多次调用fn函数,会将num的值累加


妮可妮可妮_ 2018-05-03 11:59:02
  1. document.write([1,2,3]);该方法只接受字符串作为参数,如果不是字符串,他会强制转化成字符串,相当于document.write([1,2,3].toString())

  2. document.write({name:'xm'});对象是不能直接write出来的,必须把对象属性转换成字符串等类型才可以输出,所以返回的是:[object Object]

  3. document.write({

                name:'xm',

                toString:function(){

                    return'调用了';

                }

            })


      toString:function(){

                    return'调用了';

               }

    这里相当于重新定义了toString方法,document.write()方法是在内部强制进行toString( ),所以输出的是这个函数返回的值,为'调用了'

祝学习愉快~

  • 提问者 慕哥1161892 #1
    谢谢您的解释,我忘记写清楚了,我想说的是选择题第二题的
    2018-05-03 23:40:02
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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