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

使用hasOwnProperty時報錯的解決方法

 更新時間:2024年01月04日 15:10:32   作者:嘿!陳俊彥  
hasOwnProperty這個方法是用來查找一個對象是否有某個屬性,且查找的屬性必須是對象本身的一個成員,但是不會去查找對象的原型鏈,文中介紹了使用示例代碼及使用時可能會遇到的問題,對hasOwnProperty報錯原因分析及解決方法感興趣的朋友一起看看吧

hasOwnProperty

hasOwnProperty這個方法是用來查找一個對象是否有某個屬性,且查找的屬性必須是對象本身的一個成員,但是不會去查找對象的原型鏈。
使用示例:

var obj = {
    a: 1,
    fun: function(){},
    c:{
        d: 5
    }
};
console.log(obj.hasOwnProperty('a'));  // true
console.log(obj.hasOwnProperty('fun'));  // true
console.log(obj.hasOwnProperty('c'));  // true
console.log(obj.c.hasOwnProperty('d'));  // true
console.log(obj.hasOwnProperty('d'));  // false, obj對象沒有d屬性

JS中hasOwnProperty方法用法簡介

hasOwnProperty用法

使用時可能會遇到的問題

由于ESLint升級,在項目中直接使用xxx.hasOwnProperty()可能會導(dǎo)致:

error  Do not access Object.prototype method 'hasOwnProperty' from 
target object  no-prototype-builtins

這個錯誤提示大概就是說:不要從目標(biāo)對象上訪問 Object 原型方法。在ECMAScript 5.1中,新增了 Object.create,它支持使用指定的 [[Prototype]] 創(chuàng)建對象。我們可以通過使用call()方法來調(diào)用不屬于本身this對象的方法。
例如:

var a = {
  today: '2022年5月11號',
  weather: '陰天'
  show: function(){
    return this.today+ '是' + this.weather
  }
}
var b = {
  today: '2022年5月30號',
  weather: '晴天'
}
//調(diào)用a的show方法,并用于b
b.show.call(a)  
console.log(b)  //輸出為:2022年5月30是晴天

所以解決該問題的方法為:將xxx.hasOwnProperty(‘yyy’)修改為Object.prototype.hasOwnProperty.call(xxx, ‘yyy’)。
代碼示例:

 handleEdit(todo) {
            // if(todo.hasOwnProperty('isEdit')){
            //    todo.isEdit = true;
            // }else{
            //   this.$set(todo,'isEdit',true)
            // }
            if(Object.prototype.hasOwnProperty.call(todo, 'isEdit')){
               todo.isEdit = true;
            }else{
              this.$set(todo,'isEdit',true)
            }
          },

到此這篇關(guān)于使用hasOwnProperty時報錯的解決方法的文章就介紹到這了,更多相關(guān)hasOwnProperty報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS遍歷Json字符串中鍵值對先轉(zhuǎn)成JSON對象再遍歷

    JS遍歷Json字符串中鍵值對先轉(zhuǎn)成JSON對象再遍歷

    這篇文章主要介紹了JS遍歷Json字符串中鍵值對的方法,先將Json字符串轉(zhuǎn)換成JSON對象,再進(jìn)行遍歷,需要的朋友可以參考下
    2014-08-08
  • JavaScript中的邏輯判斷符&&、||與!介紹

    JavaScript中的邏輯判斷符&&、||與!介紹

    這篇文章主要介紹了JavaScript中的邏輯判斷符&&、||與!介紹,本文講解了邏輯與&&的處理規(guī)則、邏輯或||的處理規(guī)則、!操作符,需要的朋友可以參考下
    2014-12-12
  • Javascript中window.name屬性詳解

    Javascript中window.name屬性詳解

    這篇文章主要介紹了Javascript中window.name屬性詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • JavaScript高級函數(shù)應(yīng)用之分時函數(shù)實例分析

    JavaScript高級函數(shù)應(yīng)用之分時函數(shù)實例分析

    這篇文章主要介紹了JavaScript高級函數(shù)應(yīng)用之分時函數(shù),結(jié)合實例形式分析了javascript通過合理分時函數(shù)應(yīng)用避免瀏覽器卡頓或假死的相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 如何利用Proxy更優(yōu)雅地處理異常詳解

    如何利用Proxy更優(yōu)雅地處理異常詳解

    這篇文章主要給大家介紹了關(guān)于如何利用Proxy更優(yōu)雅地處理異常的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-03-03
  • JavaScript中Map遍歷方法代碼示例

    JavaScript中Map遍歷方法代碼示例

    這篇文章主要給大家介紹了關(guān)于JavaScript中Map遍歷方法的相關(guān)資料,Map是一組鍵值對的結(jié)構(gòu),具有極快的查找速度,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • javascript 日期相減-在線教程(附代碼)

    javascript 日期相減-在線教程(附代碼)

    這篇文章主要介紹了javascript 日期相減的實例講解,附上代碼供大家查看,需要的朋友可以參考下
    2017-08-08
  • js數(shù)值計算時使用parseInt進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換(jquery)

    js數(shù)值計算時使用parseInt進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換(jquery)

    這篇文章主要介紹了js數(shù)值計算時使用parseInt進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換(jquery),需要的朋友可以參考下
    2014-10-10
  • JS實現(xiàn)Ajax的方法分析

    JS實現(xiàn)Ajax的方法分析

    這篇文章主要介紹了JS實現(xiàn)Ajax的方法,結(jié)合實例形式分析了ajax的概念、原理、js實現(xiàn)與使用方法,需要的朋友可以參考下
    2016-12-12
  • Safari5中alert的無限循環(huán)BUG

    Safari5中alert的無限循環(huán)BUG

    猜測Safari5中將點擊alert框的確定按鈕也當(dāng)成點擊body了。事件一直冒泡到彈出框上。
    2011-04-04

最新評論