最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript函數(shù)中關(guān)于valueOf和toString的理解

 更新時(shí)間:2016年06月14日 15:27:10   作者:jian,zhou  
本文給大家介紹JavaScript函數(shù)中關(guān)于valueOf和toString的理解,簡單的說就是需要轉(zhuǎn)換為字符串時(shí),會調(diào)用toString,需要轉(zhuǎn)換為數(shù)字時(shí)需要調(diào)用valueOf。對js valueof tostring知識感興趣的朋友一起學(xué)習(xí)吧

今天看到一個(gè)試題,實(shí)現(xiàn)如下語法的功能:

var a = add(2)(3)(4); //9 

這個(gè)就是一個(gè)高階函數(shù)的應(yīng)用,分析:add(2)會返回一個(gè)函數(shù),add(2)(3)也會返回一個(gè)函數(shù),最后add(2)(3)(4)返回一個(gè)數(shù)值。

實(shí)現(xiàn):

function add(num1){
return function(num2){
return function(num3){
return num1+num2+num3;
}
}
}
add(2)(3)(4);//9 

這個(gè)沒有錯(cuò)的,可以完美解決問題。

優(yōu)化:這里只討論關(guān)于高階函數(shù)的部分,對于更好的解決方案,可以實(shí)現(xiàn)無限這種調(diào)用,

//方法一
function add(a) {
var temp = function(b) {
return add(a + b);
}
temp.valueOf = temp.toString = function() {
return a;
};
return temp;
}
add(2)(3)(4)(5);//14
//方法二、另看到一種很飄逸的寫法(來自Gaubee):
function add(num){
num += ~~add;
add.num = num;
return add;
}
add.valueOf = add.toString = function(){return add.num};
var a= add(3)(4)(5)(6); // 18
//方法二注釋:其實(shí)就相當(dāng)于,只不過對函數(shù)應(yīng)用了自定義屬性,用于存儲值。
;(function(){
var sum=0;
function add(num){
sum+=num;
return add;
}
add.valueOf=add.toString=function(){return sum;}
window.add=add;
})()
var a= add(3)(4)(5)(6); // 18[/code]

這是我在[url=http://www.cnblogs.com/wengxuesong/p/5577683.html]博客園[/url]看到的文章中寫的,對于其中的方法一和方法二 一直不理解,也嘗試在控制臺輸出 [code=javascript,javascript 代碼,true]function 9

var temp = function() {
}
temp.valueOf = function() {
return 2;
}
temp.toString = function() {
return 'hahh';
}
alert(temp);
console.log(2 * temp); 

需要轉(zhuǎn)換為字符串時(shí),會調(diào)用toString,需要轉(zhuǎn)換為數(shù)字時(shí)需要調(diào)用valueOf。

相關(guān)文章

  • JavaScript Html實(shí)現(xiàn)移動(dòng)端紅包雨功能頁面

    JavaScript Html實(shí)現(xiàn)移動(dòng)端紅包雨功能頁面

    這篇文章主要為大家詳細(xì)介紹了JavaScript Html實(shí)現(xiàn)移動(dòng)端紅包雨功能頁面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • layui點(diǎn)擊按鈕頁面會自動(dòng)刷新的解決方案

    layui點(diǎn)擊按鈕頁面會自動(dòng)刷新的解決方案

    今天小編就為大家分享一篇layui點(diǎn)擊按鈕頁面會自動(dòng)刷新的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • JavaScript創(chuàng)建一個(gè)object對象并操作對象屬性的用法

    JavaScript創(chuàng)建一個(gè)object對象并操作對象屬性的用法

    這篇文章主要介紹了JavaScript創(chuàng)建一個(gè)object對象并操作對象屬性的用法,實(shí)例分析了javascript使用object類定義對象及屬性的用法,需要的朋友可以參考下
    2015-03-03
  • JavaScript Ajax實(shí)現(xiàn)異步通信

    JavaScript Ajax實(shí)現(xiàn)異步通信

    這篇文章主要為大家詳細(xì)介紹了JavaScript Ajax實(shí)現(xiàn)異步通信的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 老生常談JavaScript面向?qū)ο蠡A(chǔ)與this指向問題

    老生常談JavaScript面向?qū)ο蠡A(chǔ)與this指向問題

    下面小編就為大家?guī)硪黄仙U凧avaScript面向?qū)ο蠡A(chǔ)與this指向問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 原生JS 購物車及購物頁面的cookie使用方法

    原生JS 購物車及購物頁面的cookie使用方法

    下面小編就為大家?guī)硪黄鶭S 購物車及購物頁面的cookie使用方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • WebSocket連接頻繁斷開的問題及解決方案

    WebSocket連接頻繁斷開的問題及解決方案

    隨著實(shí)時(shí)應(yīng)用的普及,如在線聊天、實(shí)時(shí)數(shù)據(jù)監(jiān)控和協(xié)作工具,WebSocket 成為了實(shí)現(xiàn)雙向通信的重要技術(shù),然而,在實(shí)際開發(fā)中,開發(fā)者常常會遇到 WebSocket 連接頻繁斷開的情況,本文將深入探討 WebSocket 連接頻繁斷開的常見原因,并提供詳細(xì)的解決方案和最佳實(shí)踐
    2025-02-02
  • 微信小程序開發(fā)之大轉(zhuǎn)盤 仿天貓超市抽獎(jiǎng)實(shí)例

    微信小程序開發(fā)之大轉(zhuǎn)盤 仿天貓超市抽獎(jiǎng)實(shí)例

    本篇文章主要介紹了微信小程序開發(fā)之大轉(zhuǎn)盤 仿天貓超市抽獎(jiǎng)實(shí)例,這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • JavaScript惰性加載的優(yōu)化技巧詳解

    JavaScript惰性加載的優(yōu)化技巧詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript在進(jìn)行惰性加載時(shí)的一些優(yōu)化技巧,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • JavaScript字符串中的replace方法用法示例

    JavaScript字符串中的replace方法用法示例

    在JavaScript中處理字符串是一項(xiàng)常見的任務(wù),而去除字符串中的指定子字符串則是其中的一個(gè)重要操作,這篇文章主要給大家介紹了關(guān)于JavaScript字符串中replace方法的相關(guān)資料,需要的朋友可以參考下
    2025-04-04

最新評論

新竹市| 上饶市| 三原县| 响水县| 蒙阴县| 孟连| 祁阳县| 天祝| 萨迦县| 嘉定区| 桂平市| 鲁山县| 沅江市| 噶尔县| 资阳市| 句容市| 墨江| 常德市| 元谋县| 山阳县| 北海市| 汶川县| 湄潭县| 墨竹工卡县| 延安市| 梁山县| 武宣县| 大庆市| 凉山| 乐陵市| 丰都县| 正镶白旗| 侯马市| 青铜峡市| 天津市| 泗阳县| 柳林县| 靖宇县| 中宁县| 田东县| 汤阴县|