JavaScript初學者建議:不要去管瀏覽器相容

来源:http://www.cnblogs.com/shouce/archive/2016/01/29/5167947.html
-Advertisement-
Play Games

如果可以回到過去的話,我會告訴自己這句話:"初學JavaScript的時候無視DOM和BOM的相容性" 我初學時的處境 在我初學JavaScript的時候最頭痛的就是瀏覽器相容問題。在Firefox下麵好好的代碼放到IE就不能顯示了,又或者是在IE能正常顯示的代碼在firefox又報錯了。 前端開發


如果可以回到過去的話,我會告訴自己這句話:"初學JavaScript的時候無視DOM和BOM的相容性"

 我初學時的處境

  在我初學JavaScript的時候最頭痛的就是瀏覽器相容問題。在Firefox下麵好好的代碼放到IE就不能顯示了,又或者是在IE能正常顯示的代碼在firefox又報錯了。

 

  前端開發工程師的職責就包括跨瀏覽器開發。所以我就在還不瞭解JS這門語言本身的時候去花時間學習瀏覽器相容知識這樣會讓JS學習難度增加但是不能相容主流瀏覽器的代碼不能用在實際項目中。

  DOM和BOM的相容性問題一度讓我的JavaScript學習停滯不前。語言理解不夠,代碼又只能在特定瀏覽器運行。

 我的建議

  如果你正初學JavaScript並有著和我一樣的處境的話我建議你:初學JavaScript的時候無視DOM和BOM的相容性,將更多的時間花在瞭解語言本身(ECMAScript)。只在特定瀏覽器編寫代碼(Chrome/Firefox/Safari),實際工作中使用成熟的JavaScript框架(jQuery等)。放心,很少有公司會讓JS新手用原生JS做前端開發。

  學習JS初期無視相容問題有什麼好處

  1. 降低學習難度
  2. 減少挫敗感
  3. 花更多的時間學習ECMAScript

 什麼時候學習JS跨瀏覽器開發知識

  而瀏覽器相容問題留到什麼時候解決呢?

  當你能熟練使用JavaScript框架編寫可復用的代碼時(jQuery插件或前端控制項),或當你準備自己開發一個JavaScript框架時。

 其他一些JavaScript初學者建議

  1. 千萬不要拿JavaScript權威指南當入門書籍
  2. 應該用JavaScript高級程式設計(第三版)作為入門書籍
  3. 傳值和傳值、作用域知識必須理解
  4. 調試工具必須懂並多用,學會自己捕捉錯誤。(chrome developer tool/Firebug)
  5. 耐心再耐心,對每一個知識點深挖能學的更輕鬆。

  以上就是我的一些分享希望若能幫助到初學JavaScript的你,如果覺得有誤導的地方敬請立即指出。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • http://120.24.90.140:2368/emberru-men-zhi-nan-jiao-cheng-mu-lu/
  • 首先是angular-ui-router的基本用法。■ 如何引用依賴angular-ui-router angular.module('app',["ui.router"]) .config(function($stateProvider){ $stateProvider.state(stateNa
  • 來源:w3cplus - 南北(@ping4god) 網址:http://www.w3cplus.com/tools/dev-tips.html 谷歌瀏覽器如今是Web開發者們所使用的最流行的網頁瀏覽器。伴隨每六個星期一次的發佈周期和不斷擴大的強大的開發功能,Chrome變成了一個必須的工具。大多數
  • 本篇主要通過分析Tony Parisi的sim.js庫(原版代碼托管於:https://github.com/tparisi/WebGLBook/tree/master/sim),總結基礎Web3D框架的編寫方法。在上一篇的基礎上,要求讀者具有簡短英文閱讀或者查字典的能力。 限於水平和時間,本文難免
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o
  • 最近在研究css~當設置一個元素width後~有時候也會對他設定padding,margin,border值, 每次這樣我就心裡琢磨,那這個元素的width會變嗎,js獲取元素的寬度width()指的是哪個寬度,還有innerWidth()?outerWidth()?outerWidth(true)
  • SVG 基本內容 SVG並不屬於HTML5專有內容 HTML5提供有關SVG原生的內容 在HTML5出現之前,就有SVG內容 SVG,簡單來說就是矢量圖 SVG文件的擴展名為".svg" SVG使用的是XML語法 概念 SVG是一種使用XML技術描述二維圖形的語言 SVG的特點 SVG繪製圖形可以被
  • 在瞭解浮動屬性之前,首先我們先瞭解一下html中關於display屬性的相關知識。 display屬性常用的有inline, block, inline-block. inline也就是內聯的意思。 常見的html標簽中如 span, font, a, b, em 都是內聯元素。 所謂內聯,簡單理解
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...