js提问,求大佬们解释
javascript吧
全部回复
仅看楼主
level 2
显赫剑圣- 楼主
p1 闭包:为什么每次调用add()不会使counter清零,而且add()在创建的时候后面为啥要加个()调用一次?
p2 函数调用:为什么结果是两个object,而不是一个
p3 json:选中的这两行代码是否可以等价使用
2022年01月01日 10点01分 1
level 12
第一个,这种用法叫匿名函数
第二个,这个输出就是一个对象的意思,没有两个object
第三个,记住一句话,永远不要相信用户输入的任何数据(详情请见最近的log4j事件)
2022年01月01日 10点01分 2
感谢大佬,但是p1和p3没太懂,p1我自己一步步return去推的话就把自己推乱了,p3没懂啥意思[狂汗]
2022年01月02日 15点01分
直接eval很不安全。如果responseText是这样的:)恶意代码();(,你想想会发生什么。
2022年01月03日 01点01分
@白き永遠 好的,谢谢大佬
2022年01月03日 02点01分
level 5
p1是一个立即执行函数的写法,return的结果是一个函数并保存在add上,这样构成一个闭包,想修改counter就需要调用add()
2022年01月05日 07点01分 3
level 10
闭包只能取得包含函数中任何变量的最后一个值,所以每次调用函数counter都是上一次调用后的值;JSON.parse只能解析属性名是引号包裹的字符串对象,eval会执行里面的js代码
2022年01月05日 10点01分 6
1