var|a等于1又等于2还记得吗继续add(4)(5)(6)实现

var|a等于1又等于2还记得吗继续add(4)(5)(6)实现

文章回顾: if(num==1 && num==2){console.log('输出内容') 怎么才能打印出?
// 当初给的答案是
var num = {
i: 1
valueOf: function() {
return this.i++

【var|a等于1又等于2还记得吗继续add(4)(5)(6)实现】
if(num==1 && num==2){alert('输出内容')  //这样就出来了
通过valueOf重写完成了不可思议的操作 , 接下来再搞个add(4)(5)(6)实现 , 继续往下阅读如何搞定 , 记得关注哦

问题:add(4)(5)(6)
思路:同样通过重写toString方法来实现
var add = function(preNum) {
var count = preNum; //利用闭包储存count
var tmp = function(nextNum) {
count += nextNum
return tmp

tmp.toString = function() { //重写toString方法搞定返回值问题
return count

return tmp(preNum)


add(4)(5)(6)

思考题:
(1)如果用valueOf来实现num(4)(5)(6)?
(2)讲解中的add(4)(5)(6)返回的类型是什么类型?
如果你明白就来评论区写出你的答案 , 证明你了解了valueOf和toString的作用了


    推荐阅读