正在回答 回答被采纳积分+1
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的值累加
document.write([1,2,3]);该方法只接受字符串作为参数,如果不是字符串,他会强制转化成字符串,相当于document.write([1,2,3].toString())
document.write({name:'xm'});对象是不能直接write出来的,必须把对象属性转换成字符串等类型才可以输出,所以返回的是:[object Object]
document.write({
name:'xm',
toString:function(){
return'调用了';
}
})
toString:function(){
return'调用了';
}
这里相当于重新定义了toString方法,document.write()方法是在内部强制进行toString( ),所以输出的是这个函数返回的值,为'调用了'
祝学习愉快~
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星