老师 为什么要用两个test()(); ?

来源:5-3 选择练习

Rain_2020

2020-03-18 23:49:06

老师 为什么要用两个test()(); ?  ()() 两个括号 跟一个括号 ()  有什么不什么不同之处?

写回答

2回答

好帮手慕糖

2020-03-19

同学你好,是的,理解是正确的。

祝学习愉快~

0

好帮手慕糖

2020-03-19

同学你好,是指该练习题中,obj.subtest()()两个括号吗?

obj.subtest()()是两个括号,会先执行bj.subtest()然后得到返回值A,然后后面还有一个括号,就执行了A(),调用了A函数,得到了返回值num的值,就是1。

若不是指这个,建议:可以详细的描述下,也可以提供下代码,便于准确的定位与解决问题。

祝学习愉快~


0
hain_2020
h <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> function test(){ var num = 1; function A(){return num}; this.subTest = function(){ return A; } } /* obj.subTest()()是两个括号, 会先执行obj.subtest()然后得到返回值A, 然后后面还有一个括号,就执行了A(), 调用了A函数,得到了返回值num的值,就是1。 */ var obj = new test();// test.subTest() var ss = obj.subTest()(); //obj.subtest()==A 后还有一个括号 就产生了 A(); 直接调用了A 方法 执行了return num 则返回了 var num = 1;则A==1 console.log(ss); //得到了返回值num的值,就是1。 </script> </body> </html> 可以这么理解吗?
h020-03-19
共1条回复

0 学习 · 14456 问题

查看课程