欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中getter和setter用法實例分析

 更新時間:2018年08月14日 11:51:33   作者:sMoom  
這篇文章主要介紹了js中getter和setter用法,結合實例形式分析了javascript中getter和setter的功能、使用方法及相關操作注意事項,需要的朋友可以參考下

本文實例講述了js中getter和setter用法。分享給大家供大家參考,具體如下:

在學習Vue計算屬性時,有一句“計算屬性默認只有 getter ,不過在需要時你也可以提供一個 setter”。

getter和setter到底是什么?于是我查找了資料:

在Es5中可以使用getter和setter部分改寫默認操作,但是只能應用在單個屬性上,無法應用在整個對象上。getter是一個隱藏函數(shù),會在獲取屬性值時調用。setter也是一個隱藏屬性,會在設置屬性值時調用。

例子:

var myObject = {
  get a(){
    return 2
  }
  };
  Object.defineProperty(
  myObject,       //目標對象
  "b",          //屬性名
  {  //描述符
    //給b設置一個getter
    get:function(){
    return this.a*2
     },
    //確保b會出現(xiàn)在對象的屬性列表中
    enumerable:true
  }
);
console.log(myObject.a) //2
console.log(myObject.b) //4

這里使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun,測試結果如下:

不管是對象文字語法中的get a( ) { ...... },還是defineProperty(......)中的顯式定義,二者都會在對象中創(chuàng)建一個不包含值的屬性,對于這個屬性的訪問會自動調用一個隱藏函數(shù),它的返回值會被當作屬性訪問的返回值。(也就是說myObject.a不用加執(zhí)行括號,vue中計算屬性默認有getter,調用計算屬性不用在后面加"( )")

var obj = {
  //給a定義一個getter
  get a(){
  return 2;
  }
};
obj.a = 3;
console.log(obj.a); //2

使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun,測試結果如下:

由于對a只定義了getter,所以對a的set操作會忽略賦值操作,不會拋錯。而且即便有合法的setter,由于我們自定義的getter只會返回2,所以set操作是沒有意義的。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript常用函數(shù)技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數(shù)學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

  • JavaScript實現(xiàn)省市聯(lián)動效果

    JavaScript實現(xiàn)省市聯(lián)動效果

    這篇文章主要介紹了JavaScript實現(xiàn)省市聯(lián)動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • TypeScript中type和interface的區(qū)別及注意事項

    TypeScript中type和interface的區(qū)別及注意事項

    type的類型別用可以用戶其他的類型,比如聯(lián)合類型、元祖類型、基本類型,interface不行,下面這篇文章主要給大家介紹了關于TypeScript中type和interface的區(qū)別及注意事項的相關資料,需要的朋友可以參考下
    2022-10-10
  • JavaScript 拖拉時間之drag案例詳解

    JavaScript 拖拉時間之drag案例詳解

    這篇文章主要介紹了JavaScript 拖拉時間之drag案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • 使用JS監(jiān)聽鍵盤按下事件(keydown event)

    使用JS監(jiān)聽鍵盤按下事件(keydown event)

    這篇文章主要介紹了使用JS監(jiān)聽鍵盤按下事件(keydown event),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • js 毫秒轉天時分秒的實例

    js 毫秒轉天時分秒的實例

    下面小編就為大家分享一篇js 毫秒轉天時分秒的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • 弱類型語言javascript中 a,b 的運算實例小結

    弱類型語言javascript中 a,b 的運算實例小結

    這篇文章主要介紹了弱類型語言javascript中 a,b 的運算,結合實例形式總結分析了js閉包函數(shù)中布爾值與字符串的a,b運算相關操作技巧,需要的朋友可以參考下
    2019-08-08
  • JavaScript 中調用 Kotlin 方法實例詳解

    JavaScript 中調用 Kotlin 方法實例詳解

    這篇文章主要介紹了JavaScript 中調用 Kotlin 方法實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • JS如何尋找數(shù)組中心索引過程解析

    JS如何尋找數(shù)組中心索引過程解析

    這篇文章主要介紹了JS如何尋找數(shù)組中心索引過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • JS對象屬性的檢測與獲取操作實例分析

    JS對象屬性的檢測與獲取操作實例分析

    這篇文章主要介紹了JS對象屬性的檢測與獲取操作,結合實例形式分析了JS針對ES5、ES6實現(xiàn)對象屬性的檢測與獲取常見操作技巧,需要的朋友可以參考下
    2020-03-03
  • 微信小程序批量上傳圖片到七牛(推薦)

    微信小程序批量上傳圖片到七牛(推薦)

    這篇文章主要介紹了微信小程序批量上傳圖片到七牛,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論