javascript ??

declandragon發表於2021-06-19

最近寫個閱讀H5,有個夜間模式,背景顏色,字型大小等設定,使用 localStorage ,一不小心就寫了個大BUG,記錄一下。

有收穫的話請點個贊

  • 直接上程式碼
    //錯誤寫法 或者叫不相容寫法更合適一點
    let model = localStorage.getItem('model') ?? 0;
    let color = localStorage.getItem('color') ?? '';

    //修改之後
    let model = localStorage.getItem('model');
    model = model ? model : 0;
    let color = localStorage.getItem('color');
    color = color ? color : '';

就這樣簡單的兩行程式碼,我也不知道為什麼順手寫了 ?? 這種語法出來了,因為 php 可以所以 js 也可以?

windows chrome 瀏覽器訪問一切正常

windwos 微信開發者工具一切正常

手機微信掃碼開啟,哦豁,怎麼按鈕,點選事件,全沒反應了;a標籤還能正常跳轉

  • 排查步驟

1、安卓微信問題?

我自己魅族,同事的華為,都不行

另一個同事的水果10沒問題,水果8P不行(甚至出現了點選事件會造成頁面滑動?(黑人問號臉)

2、微信瀏覽器有問題?

換了夸克,手機百度,百度APP,還有手機自帶瀏覽器,都不行

試試手機chrome瀏覽器,哎,一切正常

3、JQ版本問題?

最開始使用的是 1.11.1,換了 3.5.1 好像還是不行

4、最後求助大佬提供了一個思路

只保留一個功能的JS,其他先幹掉,一段一段排查,最後才定位到問題。

5、最初是在 chrome 除錯工具開發的,直到最後在手機微信上測試才發現問題,不然在開發的時候應該就能發現這種問題了。

  • 垃圾後端寫JS不易啊,菜就一個字。
  • js 裡面 ?? 這個語法啥時候出來的,有點菜沒找到對應的文件或者相容性說明啥的
  • 在手機微信或者其他手機瀏覽器有什麼好的除錯方法?類似於微信小程式真機除錯那種東西。電腦上不報錯,手機上一動不動,我人麻了
本作品採用《CC 協議》,轉載必須註明作者和本文連結
感謝閱讀,有收穫的話不妨點個贊:smiling_imp:

相關文章