Discuss / JavaScript / 暂时先标记,实在是看不懂

暂时先标记,实在是看不懂

Topic source

木容畏

#1 Created at ... [Delete] [Delete and Lock User]

oldParseInt.apply(null, arguments) //arguments到底是什么东西! var oldParseInt = parseInt;//这里的parseInt还是函数么,为什么不用加()

木容畏

#2 Created at ... [Delete] [Delete and Lock User]

基本ok

我也有同样的疑问,请问你弄明白了吗?

var oldParseInt = parseInt; 找一个变量保存原来的parseInt  变量名无所谓随便取 oldParseInt这个变量名更加直观

window.parseInt = function () { count += 1; return oldParseInt.apply(null, arguments); // 调用原函数 }; 这里相当于在原来函数的基础之上又添加了一些新的功能 count +=1
然后又调用了oldParseInt 此时oldParseInt指向原来的ParseInt

如果现在你再调用就parseInt就相当于执行的就是下面的匿名函数 function () { count += 1; return oldParseInt.apply(null, arguments);

可以参考这个

类似于之前的rest

biggerdream

#6 Created at ... [Delete] [Delete and Lock User]

1.arguments 是javascript内置的关键字,表示函数传入的参数值。 2.parseIn 与parseIn() 的区别,实际上parseIn是一个函数名,parseIn()在一个函数名后面加了括号就表示执行该函数了。引用一个函数,只需一个函数名(没有后面的括号)


  • 1

Reply